下載Kafka Manager,並進行打包,由於Kafka manager是由scala寫的,所以需要由sbt的支持
apt-get -y install git git clone https://github.com/yahoo/kafka-manager
安裝sbt
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.listsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823sudo apt-get updatesudo apt-get install sbt
配置zk的地址
在conf/application.conf中將kafka-manager.zkhosts的值設置為真實的伺服器地址
打包完成後,對kafka-manager-xxxx.zip包進行解壓,位置在target/universal目錄下
kafka-manager/target/universal
修改配置
vim kafka-manager-xxxx/conf/application.conf
啟動Kafka manager
bin/kafka-manager -Dconfig.file=/opt/kafka-manager-1xxxx7/conf/application.conf -Dhttp.port=7778
訪問
http://localhost:9000
然後在cluster中add cluster,比如
啟動後如果遇到
[warn] o.a.k.c.p.Errors - Unexpected error code: 38.[warn] o.a.k.c.NetworkClient - Error while fetching metadata with correlation id 98 : {__consumer_offsets=UNKNOWN}
就手動創建一個叫__consumer_offsets的topic
如果你的kafka只有一臺機器,然後遇到kafka-console-consumer無法消費的情況,可以查看一下offsets.topic.replication.factor這個參數是否為1,不是1的話消費者的offset是無法提交上去的
啟動Kafka的JMX,只需要修改kafka的啟動命令就行,注意給kafka添加jmx需要在kafka manager之前
啟動kafka服務時指定JMX_PORT值:
JMX_PORT=9999 bin/kafka-server-start.sh -daemon config/server.properties
//一臺機器部署多個server採用此方法
或者修改kafka-server-start.sh,在前面加上:
export JMX_PORT=9999
//如果一臺機器部署一個server 建議採用此方法
關於Kafka Manager中的一些參數說明:
Replication (副本數)
Number of Partitions (分區數)
Sum of partition offsets (offset大小,需要開啟JMX支持)
Total number of Brokers (Broker總數)
Number of Brokers for Topic (Topic所佔Broker數)
Preferred Replicas % ()
Brokers Skewed % (Broker 均衡率)
Brokers Spread % (Broker 擴散率)
Under-replicated % (處於同步狀態的比率)
Message in /sec 消息數據流量
Bytes in /sec kafka輸入數據流量
Bytes out /sec kafka輸出數據流量
Bytes rejected /sec 拒絕的流量
Failed fetch request /sec 失敗的獲取請求
Failed produce request /sec 失敗的生產請求
如果執行sbt clean all失敗執行如下操作再次嘗試
rm -rf ~/.ivy2rm -rf ~/.sbt