背景:因為公司收集終端盒子資料的kafka服務偶爾會倒,所以考慮使用kafka的分布式,增加broker節點,來提高系統的可用性。
當然,zookeeper服務節點也是可以增加的,但不在本文範圍內。
具體步驟如下:
1. 新加kafka服務,並啟動
如果是同一伺服器,則可以拷貝新建server.properties的方式啟動,具體參考官網
這裡我用的是第二種方案,下面是server.properties中修改的三個配置
broker.id=1啟動命令listeners=plaintext:
zookeeper.connect=192.168.0.20:2181
nohup /opt/kafka_2.12-2.4.0/bin/kafka-server-start.sh /opt/kafka_2.12-2.4.0/config/server.properties &相應的停止命令
/opt/kafka_2.12-2.4.0/bin/kafka-server-stop.sh /opt/kafka_2.12-2.4.0/config/server.properties &2. 重新給topic分配副本
1)新建json檔案increase-replication-factor.json,並輸入如下內容
]2)執行分配命令}
3. 檢視執行結果
./bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --verify可以看到,因為log檔案過多,導致複製操作還在執行
等待一段時間之後,再次檢視執行結果
最後檢視該topic狀態(relicationfactor和replicas的變化),增加成功!
./bin/kafka-topics.sh --zookeeper localhost:2181 --topic activerecords --describe如果嘗試把節點0的kafka停掉,會發現leader發生了變化
另外,中間發生了如下的錯誤,原因是兩邊的kafka版本不同,乙個是2.10,乙個是2.12,在將低版本公升級後,問題解決。
connection to 0 was disconnected before the response was read參考:kafka官網:
kafka中文學習**:
Kafka擴充套件內容
低階api props.put group.id 01 offset自動重置,offset可能因為快取刪除,序號不一定從0開始 props.put consumerconfig.auto offset reset config,earliest 高階api consumer.seek new top...
Kafka 如何理解Kafka的「快」?
據了解,kafka吞吐量峰值每秒百萬,就算在記憶體個cpu都不高的情況下,最高可達每秒十萬,並且還能做到持久化儲存。kafka如此高吞吐率的原因是什麼?隨機寫每秒幾十幾百k。作業系統從磁碟將資料copy dma copy 到核心空間緩衝區 kernel buffer 應用程式從核心空間緩衝區 ker...
Kafka詳解二 如何配置Kafka集群
kafka集群配置比較簡單,為了更好的讓大家理解,在這裡要分別介紹下面三種配置 1.首先啟動zookeeper服務 kafka本身提供了啟動zookeeper的指令碼 在kafka bin 目錄下 和zookeeper配置檔案 在kafka config 目錄下 首先進入kafka的主目錄 可通過 ...