1. Yahoo kafka manager介紹
項目地址:https://github.com/yahoo/kafka-manager
Requirements:
- Kafka 0.8.1.1 or 0.8.2.*
- sbt 0.13.x
- Java 8+
Kafka Manager是一個管控台,這款工具主要支持以下幾個功能:
- 管理多個不同的集群;
- 很容易地檢查集群的狀態(topics, brokers, 副本的分布, 分區的分布);
- 選擇副本;
- 產生分區分配(Generate partition assignments)基於集群的當前狀態;
- 重新分配分區。
2. 環境信息
主機名 | 操作系統版本 | IP地址 | 安裝軟件 |
console | CentOS 7.0 | 114.55.29.246 | JDK1.8、kafka-manager-1.3.0.6.zip |
Kafka Manager可以裝在任何一台機器上,我這里部署在一台單獨的機器上。
4. 安裝sbt0.13.9
[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
cd ~
mkdir .sbt
touch ~/.sbt/repositories
vi ~/.sbt/repositories
內容:
[repositories] local #oschina: http://maven.oschina.net/content/groups/public/ aliyun-nexus: http://maven.aliyun.com/nexus/content/groups/public/ jcenter: http://jcenter.bintray.com/ typesafe-ivy-releases: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly maven-central: http://repo1.maven.org/maven2/
驗證:檢查sbt是否安裝成功,查看命令輸出,發現已經成功可以從maven.aliyun.com/nexus
下載到依賴即表示成功
sbt -version
需要很長時間~耐心等待
5. 構建kafka manager包
1、下載項目包
wget https://github.com/yahoo/kafka-manager/archive/1.3.3.17.zip
#或者下載zip包上傳到服務器
2、解壓、編譯
[root@console ~]# unzip -oq kafka-manager-1.3.3.17.zip [root@console ~]# cd kkafka-manager-1.3.3.17 [root@console kafka-manager]#./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 證明編譯好了。
3、安裝
重新解壓編譯好的kafka-manager-1.3.3.18.zip
cp /opt/software/kafka-manager-1.3.3.18/target/universal/kafka-manager-1.3.3.18.zip /opt cd /opt unzip -oq kafka-manager-1.3.3.18.zip
修改配置文件
vi conf/application.conf #修改kafka-manager.zkhosts列表為自己的zk節點 kafka-manager.zkhosts="node21:2181,node22:2181,node23:2181"
6、啟動服務
啟動zk集群,kafka集群,再啟動kafka-manager服務。
bin/kafka-manager 默認的端口是9000,可通過 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置文件:
nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8081 &
jps查看進程:
7、編寫服務啟動腳本
chmod +x kafka-manager.sh
nohup /opt/kafka-manager-1.3.3.17/bin/kafka-manager -Dconfig.file=/opt/kafka-manager-1.3.3.17/conf/application.conf -Dhttp.port=8888 >/opt/kafka-ma nager-1.3.3.17/kafka-manager.log 2>&1 &
瀏覽器訪問:http://192.168.1.106:8081
八、kafka-manager配置
1.新建Cluster
點擊【Cluster】>【Add Cluster】打開如下添加集群配置界面:輸入集群的名字(如Kafka-Cluster-1
)和 Zookeeper 服務器地址(如localhost:2181
),選擇最接近的Kafka版本
其他broker的配置可以根據自己需要進行配置,默認情況下,點擊【保存】時,會提示幾個默認值為1
的配置錯誤,需要配置為>=2
的值。提示如下。
新建完成后,保存運行界面如下:
九、kafka-manager管理
1.新建主題
Topic---Create