下載下傳、安裝
常用指令
叢集搭建
叢集故障
kafka叢集監控
kafka下載下傳位址:http://kafka.apache.org/downloads
下載下傳.tgz,win、linux都是這個安裝包。
說明
需要先安裝jdk、zk,啟動zk。
kafka自帶了zk,但一般使用單獨的zk,不使用自帶的。
如果要使用自帶的zk,則根據需要修改config/zookeeper.properties,使用以下命名啟動zk
kafka的安裝部署
重要的資料檔案、日志檔案一般不建議儲存在臨時目錄/tmp下,以防不小心被清理了。
linux下啟動、停止
win下啟動、停止
.bat字尾可以預設,注意win、linux路徑中斜杠的寫法不同。
linux執行bin下的sh,win執行bin\windows下的bat,注意win、linux檔案路徑中斜杠的寫法不同
删除topic應該用指令删除,或者調用api進行删除,不要直接删除zk上的topic節點或者直接删除kafka的本地日志檔案。
如果隻删除了zk上的topic節點,或者隻删除了kafka的本地日志檔案,往往會造成kafka本地資料、zk遠端資料不一緻,導緻kafka啟動失敗,此時應該根據報錯資訊确定資料不一緻的topic,同時删除zk上對應的topic節點、kakfa對應的本地日志檔案。
kafka都是以叢集形式運作的,即使隻有一個節點,也是以叢集方式運作的。
kafka叢集依賴于zk進行協調。
修改配置檔案的broker.id即可,從0開始,遞增,唯一辨別一個broker。一個broker即一個kafka節點
kafka副本集(replicas):日志檔案的副本,可以給每個topic設定副本集。
一個topic的多個part會分散在多個broker上,part在其它broker上會有備份。
kafka節點故障
kafka節點與zk的心跳不能保持
follower消息落後leader太多
kafka叢集會自動移除故障的節點。
kafka會盡量将消息均勻地分散到各個節點上,避免部分節點過載。

最常用的是雅虎開源的CMAK,可在github上下載下傳,3.x要求jdk11,jdk8可以使用2.x的版本。
下載下傳壓縮包,需要自己配置sbi的環境,自行進行編譯,編譯會得到一個用于部署的壓縮包Kafka Manager。
修改conf/application.conf
通過ip:port通路,添加一個叢集,設定叢集名稱、zk位址、kafka版本。
JMX可以反映kafka叢集的metrics(名額),但比較耗性能,根據情況勾選。
如果要使用JMX,還需要在kafka的bin/kafka-server-start.sh中的頂部加一行
如果kafka已經啟動,需要重新開機才會生效。
skewed是part分布是否均勻地名額。