kafka manager

kafka manager 是雅虎开源一个可视化的 kafka 管理工具,懒人必备。当然如果你更倾向使用命令,会显得逼格更高,随你。

源码下载

kafka-manager

编译

解压后,根目录下执行以下命令编译 (确保已安装 Java 环境)

1
sbt clean dist

受网络影响,编译可能会花很长的时间,如果不能等可以尝试修改 sbt 的maven 仓库。编译完成后,会在 target\universal 目录下会生成一个编译好的压缩包

注意:sbt 如果没有安装,点击下载 ,安装成功后重新执行编译命令

kafka manager target

启动 kafka manager

可以将压缩包复制到你想存放的地方,解压后根据你的 zookeeper 集群地址,修改 conf\application.confkafka-manager.zkhosts 节点,比如我的测试环境 zookeeper 集群:

1
kafka-manager.zkhosts="localhost:2181,localhost:2182,localhost:2183"

修改完成回到根目录,执行以下命令,启动成功后的默认访问端口是 9000,也可以通过启动参数重新配置。

请确保 kafka 集群和 zookeeper 集群都已启动完成

1
bin\kafka-manager

kafka manager ui

默认一片空白,需要我们手动添加集群,添加时只需要设置一下 Cluster NameCluster Zookeeper Hosts,其他配置后续根据需要再设置。根据实际环境需要,可以添加多个集群。

add cluster

添加成功后,我们可以通过可视化界面查看每个集群的信息,如:Borker 、Topic 、Consumer、Partition 的分布情况、Topic 副本等等,这个自己玩一下就基本知道有哪些东西了。

启用 JMX

kafka 可以配置使用 JMX 进行运行状态的监控。

  1. 修改 kafka-server-start 文件

    Windows
    kafka-server-start.bat 添加 set JMX_PORT=9992

    1
    2
    3
    4
    IF ["%KAFKA_HEAP_OPTS%"] EQU [""] (
    ...
    set JMX_PORT=9999
    )

    Linux
    kafka-server-start.sh 添加 export JMX_PORT=”9999”

    1
    2
    3
    4
    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    export JMX_PORT="9999"
    fi
  2. 重启 kafka

  3. 启用 kafka manager 集群的 Enable JMX Polling 设置

Enable JMX Polling

稍等片刻就可以看到一些指标值

metrics

总结

通过使用 kafka manager,对 kafka 的使用变得相对简单了,比如:

  1. 集群中各对象信息预览;
  2. 创建 Topic,并指定分区数和副本数;
  3. Topic 的消费进展,延迟情况;
  4. 后期对 Topic 的分区数重新指定;
  5. 通过 Enable JMX Polling,对运行状态的监控 ;
如果对你有帮助就好