一.kafka-manager簡介
kafka-manager是目前最受歡迎的kafka叢集管理工具,最早由雅虎開源,使用者可以在Web界面執行一些簡單的叢集管理操作。具體支援以下内容:
- 管理多個叢集
- 輕松檢查群集狀态(主題,消費者,偏移,代理,副本分發,分區分發)
- 運作首選副本選舉
- 使用選項生成分區配置設定以選擇要使用的代理
- 運作分區重新配置設定(基于生成的配置設定)
- 使用可選主題配置建立主題(0.8.1.1具有與0.8.2+不同的配置)
- 删除主題(僅支援0.8.2+并記住在代理配置中設定delete.topic.enable = true)
- 主題清單現在訓示标記為删除的主題(僅支援0.8.2+)
- 批量生成多個主題的分區配置設定,并可選擇要使用的代理
- 批量運作重新配置設定多個主題的分區
- 将分區添加到現有主題
- 更新現有主題的配置
kafka-manager 項目位址:https://github.com/yahoo/kafka-manager
二.kafka-manager安裝
1.下載下傳安裝包
使用Git或者直接從Releases中下載下傳,這裡我們下載下傳 1.3.3.18 版本:https://github.com/yahoo/kafka-manager/releases

[admin@node21 software]$ wget https://github.com/yahoo/kafka-manager/archive/1.3.3.18.zip
2.解壓安裝包
[admin@node21 software]$ mv 1.3.3.18.zip kafka-manager-1.3.3.18.zip
[admin@node21 software]$ unzip kafka-manager-1.3.3.18.zip -d /opt/module/
[admin@node21 software]$ cd /opt/module/
[admin@node21 module]$ ll
drwxr-xr-x 9 admin admin 268 May 27 00:33 jdk1.8
drwxr-xr-x 7 admin admin 122 Jun 14 11:44 kafka_2.11-1.1.0
drwxrwxr-x 9 admin admin 189 Jul 7 04:44 kafka-manager-1.3.3.18
drwxr-xr-x 11 admin admin 4096 May 29 10:14 zookeeper-3.4.12
[admin@node21 module]$ ls kafka-manager-1.3.3.18/
app build.sbt conf img LICENCE project public README.md sbt src target test
3.sbt編譯
1)yum安裝sbt(因為kafka-manager需要sbt編譯)
[admin@node21 ~]$ curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo
[admin@node21 ~]$ sudo mv bintray-sbt-rpm.repo /etc/yum.repos.d/
[admin@node21 ~]$ sudo yum install sbt
修改倉庫位址:(sbt 預設下載下傳庫檔案很慢, 還時不時被打斷),我們可以在使用者目錄下建立 touch ~/.sbt/repositories, 填上阿裡雲的鏡像 # vi ~/.sbt/repositories
[repositories]
local
aliyun: http://maven.aliyun.com/nexus/content/groups/public/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sonatype-oss-releases
maven-central
sonatype-oss-snapshots
驗證:檢查sbt是否安裝成功,檢視指令輸出,發現已經成功可以從
maven.aliyun.com/nexus
下載下傳到依賴即表示成功
[admin@node21 ~]$ sbt-version
2)編譯kafka-manager
[admin@node21 kafka-manager-1.3.3.18]$ ./sbt clean dist
看到列印這個消息 Getting org.scala-sbt sbt 0.13.9 (this may take some time)... 就慢慢等吧,可以到~/.sbt/boot/update.log 檢視sbt更新日志。sbt更新好,就開始下載下傳各種jar包,最後看到:Your package is ready in /opt/module/kafka-manager-1.3.3.18/target/universal/kafka-manager-1.3.3.18.zip 證明編譯好了。
4.安裝
環境準備:Java 8+ kafka叢集搭建參考:CentOS7.5搭建Kafka2.11-1.1.0叢集
重新解壓編譯好的kafka-manager-1.3.3.18.zip
[admin@node21 kafka-manager-1.3.3.18]$ ls
bin conf lib README.md share
修改配置檔案
[admin@node21 kafka-manager-1.3.3.18]$ pwd
/opt/module/kafka-manager-1.3.3.18
[admin@node21 kafka-manager-1.3.3.18]$ ls conf/
application.conf consumer.properties logback.xml logger.xml routes
[admin@node21 kafka-manager-1.3.3.18]$ sudo vi conf/application.conf
修改kafka-manager.zkhosts清單為自己的zk節點
kafka-manager.zkhosts="node21:2181,node22:2181,node23:2181"
5.啟動服務
啟動zk叢集,kafka叢集,再啟動kafka-manager服務。
bin/kafka-manager 預設的端口是9000,可通過 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置檔案:
[admin@node21 kafka-manager-1.3.3.18]$ nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080 &
jps檢視程序
6.編寫服務啟動腳本
chmod +x kafka-manager.sh
nohup /opt/module/kafka-manager-1.3.3.18/bin/kafka-manager -Dconfig.file=/opt/module/kafka-manager-1.3.3.18/conf/application.conf -Dhttp.port=8888 >/opt/module/kafka-ma
nager-1.3.3.18/kafka-manager.log 2>&1 &
WebUI檢視:http://node21:8888/ 出現如下界面則啟動成功。
三.kafka-manager配置
1.建立Cluster
點選【Cluster】>【Add Cluster】打開如下添加叢集配置界面:輸入叢集的名字(如
Kafka-Cluster-1
)和 Zookeeper 伺服器位址(如
localhost:2181
),選擇最接近的Kafka版本
其他broker的配置可以根據自己需要進行配置,預設情況下,點選【儲存】時,會提示幾個預設值為
1
的配置錯誤,需要配置為
>=2
的值。提示如下。
建立完成後,儲存運作界面如下:
四.kafka-manager管理
1.建立主題
Topic---Create
2.檢視主題
Topic---list