一.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