天天看點

Kafka 安裝部署、常用指令、叢集搭建

下載下傳、安裝

常用指令

叢集搭建

叢集故障

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會盡量将消息均勻地分散到各個節點上,避免部分節點過載。

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分布是否均勻地名額。

繼續閱讀