參考site:https://github.com/yahoo/kafka-manager
一、功能
- 管理多個kafka集群
- 便捷的檢查kafka集群狀態(topics,brokers,備份分布情況,分區分布情況)
- 選擇你要運行的副本
- 基於當前分區狀況進行
- 可以選擇topic配置並創建topic(0.8.1.1和0.8.2的配置不同)
- 刪除topic(只支持0.8.2以上的版本並且要在broker配置中設置delete.topic.enable=true)
- Topic list會指明哪些topic被刪除(在0.8.2以上版本適用)
- 為已存在的topic增加分區
- 為已存在的topic更新配置
- 在多個topic上批量重分區
- 在多個topic上批量重分區(可選partition broker位置)
二、環境要求
- Kafka 0.8.1.1 or 0.8.2.*
- sbt 0.13.x
- Java 8+
三、安裝部署
1. 安裝sbt
> curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo
> mv bintray-sbt-rpm.repo /etc/yum.repos.d/
> yum install sbt
2. 下載編譯
> git clone https://github.com/yahoo/kafka-manager.git
> cd kafka-manager
> sbt clean dist
注: 執行sbt編譯打包可能花費很長時間,如果你hang在如下情況
將project/plugins.sbt 中的logLevel參數修改為logLevel := Level.Debug(默認為Warn)
3. 安裝配置
編譯成功后,會在target/universal下生成一個zip包
個人編譯好的: http://pan.baidu.com/s/1o6RZzei
解壓並修改配置文件
> unzip kafka-manager-1.3.0.4.zip
> vim kafka-manager-1.3.0.4/conf/application.conf
將application.conf中的kafka-manager.zkhosts的值設置為你的zk地址
如: kafka-manager.zkhosts="h2:2181"
kafka-manager.zkhosts=${?ZK_HOSTS}
pinned-dispatcher.type="PinnedDispatcher"
pinned-dispatcher.executor="thread-pool-executor"
4. 啟動,指定配置文件位置和啟動端口號,默認為9000
> nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port 9001 &
第一次進入web UI要進行kafka cluster的相關配置,根據自己的信息進行配置。