参考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包,如图
解压并修改配置文件
> 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的相关配置,根据自己的信息进行配置。