
好久沒發過kafka的文章了,今天整理一下kafka-manager神器。
java環境要求
jdk8
kafkamanager源碼下載下傳
https://github.com/yahoo/kafka-manager/releases
編譯
先修改sbt源,否則會報錯,而且非常慢
在~/.sbt目錄下增加一個檔案repositories,内容如下:
修改源之後編譯速度很快而且無故障。
編譯是在/opt/hadoop/kafka-manager-1.3.3.18/目錄下執行:
要求jdk8假如不是jdk8,可以直接指定路徑:
最後出現
代表編譯成功,zip生成目錄是在
在配置conf/application.conf 中加入zookeeper的位址,不一定是kafka的叢集zk位址
啟動,不加-Dhttp.port參數預設是9000
加入java不是jdk8的話也可以單獨指定jdk為jdk8
kafkamanager的經典作用
1. 管理多叢集
2. 便捷的監控叢集狀态(topics,consumers,offsets,brokers,副本分布,分區分布)
3. 運作優先副本選舉
4. 可以選擇指定的broker去産生副本分布政策。
5. 運作分區分布政策,根據4産生的分布政策
6. 根據自定義配置建立topic
7. 删除topic,但是前提是配置kafka的delete.topic.enable=true
8. 可以選擇多個topic,然後指定特定的brokers,生成分區分布政策
9. 批量運作8生成的政策
10. 增加已存在topic的分區
11. 更新已存在topic的配置
12. 加入kafka開啟jmx的話,可以監控broker和topic級别的監控名額。
kafka manager圖解說明
首先建立叢集
接着在topic管理界面
然後就是消費者界面
主要關注的是圖上所屬名額,建議大家使用測試,當然非常建議按照本文操作一遍,但是不想編譯或者編譯不成功也可以,在公衆号恢複 1024 擷取浪院長編譯好的。
kafka 開啟jmx的方式很簡單在kafka-server-start.sh中修改如下
當然,在這裡強調一下,對于kafka叢集,雖然不耗記憶體,也建議将kafka的堆記憶體設定稍微大些。當然,對于很多公司,資料量不足以觸發kafka節點記憶體不夠導緻的故障。