簡介:
不想通過kafka shell來管理kafka已創建的topic信息,想通過管理頁面來統一管理和查看kafka集群。所以選擇了大部分人使用的kafka manager,我一共有一台主機master和三台節點slave1,slave2,slave3,一共有三個zookeeper server和三個kafka broker,分別在master,slave1,slave2。所以我把kafka manager安裝在了slave3的服務器上面。
一、啟動kafka的JMX端口的訪問
至於JMX是什么,可以自己百度一下。啟動JMX主要是為了kafka manger可以通過JMX端口來監聽kafka的狀態等。kafka啟動的時候是沒有啟動JMX的,所以需要去修改kafka的啟動腳本,來使kafka啟動的時候啟動JMX。
[root@master ~]# cd /usr/hdp/current/kafka-broker/bin/ [root@master ~]# vi kafka-server-start.sh #添加下面標紅的代碼到指定位置 if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export JMX_PORT="9999" fi
上面的操作需要在三台kafka集群上都要操作,修改完以后通過頁面,重啟所有的kafka集群。然后再到master,slave1,slave2上查看9999端口是否啟用
[root@master bin]# lsof -i:9999 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 55123 kafka 90u IPv6 76911524 0t0 TCP *:distinct (LISTEN)
二、安裝kafka manager
1、安裝sbt編譯環境
[root@master ~]# curl https://bintray.com/sbt/rpm/rpm |tee /etc/yum.repos.d/bintray-sbt-rpm.repo [root@master ~]# yum install sbt
2、下載kafka-manager
訪問網址https://github.com/yahoo/kafka-manager/releases下載最新版的kafka-manager,然后解壓、編譯。
[root@slave3 ~]# cd kafka-manager-1.3.3.17 [root@slave3 kafka-manager-1.3.3.17]# sbt clean dist
編譯完以后,生成的包會在kafka-manager/target/universal 下面。生成的包只需要java環境就可以運行了,在部署的機器上不需要安裝sbt。
3、復制編譯好的壓縮包,在需要部署的kafka機器上解壓即可
[root@slave3 kafka-manager-1.3.3.17]# cp target/universal/kafka-manager-1.3.3.17.zip /usr/hdp/2.6.3.0-235/ [root@slave3 kafka-manager-1.3.3.17]# cd /usr/hdp/2.6.3.0-235/ [root@slave3 2.6.3.0-235]# unzip kafka-manager-1.3.3.17.zip
4、修改application.conf,把kafka-manager.zkhosts改為自己的zookeeper服務器地址
[root@slave3 2.6.3.0-235]# cd kafka-manager-1.3.3.17 [root@slave3 kafka-manager-1.3.3.17]# vi conf/application.conf #修改的代碼 kafka-manager.zkhosts="master:2181,slave1:2181,slave2:2181"
5、啟動
[root@slave3 kafka-manager-1.3.3.17]# nohup bin/kafka-manager -Dconfig.file=conf/application.conf &
默認http端口是9000,可以通過命令行參數傳遞:./kafka-manager -Dhttp.port=9001
6、訪問
訪問地址 http://slave3:9000
創建kafka集群的名稱,點擊Add Cluster來進行創建,cluster name為kafka集群的別名自定義,zookeeper hosts填寫master:2181,slave1:2181,slave2:2181。kafka version選擇ambari版本里面相應的kafka版本。勾選具體配置是除開JMX with SSL不勾選,其余的全部勾選。
然后點擊save就可以了。
7、在kafka manager里面刪除topic的時候發現刪除不了,但是topic的名稱變成了紅色。然后我修改了ambari里面kafka的delete.topic.enable的參數為true。然后就可以正常的刪除topic了。至於剛才的還是紅色test已經沒法刪除了,參考 https://blog.csdn.net/fengzheku/article/details/50585972 來對zookeeper上面的數據進行刪除就可以了。