kafka manager 是雅虎开源一个可视化的 kafka 管理工具,懒人必备。当然如果你更倾向使用命令,会显得逼格更高,随你。
源码下载
编译
解压后,根目录下执行以下命令编译 (确保已安装 Java 环境)
sbt clean dist
受网络影响,编译可能会花很长的时间,如果不能等可以尝试修改 sbt 的maven 仓库。编译完成后,会在 target\universal 目录下会生成一个编译好的压缩包
注意:sbt 如果没有安装,点击下载 ,安装成功后重新执行编译命令
启动 kafka manager
可以将压缩包复制到你想存放的地方,解压后根据你的 zookeeper 集群地址,修改 conf\application.conf 的 kafka-manager.zkhosts 节点,比如我的测试环境 zookeeper 集群:
kafka-manager.zkhosts="localhost:2181,localhost:2182,localhost:2183"
修改完成回到根目录,执行以下命令,启动成功后的默认访问端口是 9000,也可以通过启动参数重新配置。
请确保 kafka 集群和 zookeeper 集群都已启动完成
bin\kafka-manager
默认一片空白,需要我们手动添加集群,添加时只需要设置一下 Cluster Name 和 Cluster Zookeeper Hosts,其他配置后续根据需要再设置。根据实际环境需要,可以添加多个集群。
添加成功后,我们可以通过可视化界面查看每个集群的信息,如:Borker 、Topic 、Consumer、Partition 的分布情况、Topic 副本等等,这个自己玩一下就基本知道有哪些东西了。
启用 JMX
kafka 可以配置使用 JMX 进行运行状态的监控。
-
修改 kafka-server-start 文件
Windows
kafka-server-start.bat 添加 set JMX_PORT=9992IF ["%KAFKA_HEAP_OPTS%"] EQU [""] ( ... set JMX_PORT=9999 )
Linux
kafka-server-start.sh 添加 export JMX_PORT="9999"if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export JMX_PORT="9999" fi
重启 kafka
启用 kafka manager 集群的 Enable JMX Polling 设置
稍等片刻就可以看到一些指标值
总结
通过使用 kafka manager,对 kafka 的使用变得相对简单了,比如:
- 集群中各对象信息预览;
- 创建 Topic,并指定分区数和副本数;
- Topic 的消费进展,延迟情况;
- 后期对 Topic 的分区数重新指定;
- 通过 Enable JMX Polling,对运行状态的监控 ;
- ...