Kafka分布式消息系统(Kafka Manager) - Part.5
在前一节中,我们通过控制台访问了Kafka集群,对topic进行了创建、删除、查看、读写等操作。使用控制台的方式简单快捷,但不够直观。Kafka官方并没有提供一个管理的UI界面,但存在很多第三方UI,比较流行的是Yahoo的Kafka-manager 和 Landoop的Kafka-topics-ui。这篇文章简单介绍一下Kafka-manager。
因为kafka-manager已经运行了很久后我才回头补这篇文档,所以一些安装的细节可能忘记了,等以后需要重新安装时,我再完善一下。
安装Kafka manager
Kafka manager的github地址是:https://github.com/yahoo/kafka-manager。因为这里已经有很多文档了,所以我仅就值得注意的一些问题说一下。
Kafka manager是由Scala开发的,需要java环境。下载好源码后,需要使用sbt工具生成一下。sbt不需要额外安装,在下载好的源码包里就已经包含了。
下载kafka manager源码包:kafka-manager-master.zip,解压缩,然后进入 kafka-manager-master文件夹,执行下面的命令进行生成:
# ./sbt clean dist [info] Loading project definition from /root/downloads/kafka-manager-master/project [info] Updating {file:/root/downloads/kafka-manager-master/project/}kafka-manager-master-build... [info] Resolving org.fusesource.jansi#jansi;1.4 ... [info] Done updating. ... 省略50行 [success] Total time: 58 s, completed 2018-10-16 14:53:26
生成成功后,在源码的 target/universal 文件夹下可以找到 kafka-manager-1.3.3.21.zip 文件。
# ls target/universal kafka-manager-1.3.3.21.zip scripts
将它解压缩到软件的安装目录,比如说/opt:
# unzip target/universal/kafka-manager-1.3.3.21.zip -d /opt
运行Kafka manager
在运行kafka manager之前,先要配置一下conf/application.conf,主要修改和添加下面两项。
# vim conf/application.conf kafka-manager.zkhosts="zookeeper1:2181,zookeeper2:2181,zookeeper3:2181/kafka" http.port=19000
kafka-manager.zkhosts是zookeeper服务器的地址及目录;http.port是http访问端口。
除此以外,kafka使用了JMX(Java Management Extensions,Java管理扩展)来进行运行状态监控,kafka-manager通过kafka的JMX来获取其部分的运行状态。开启JMX,需要编辑 $KAFKA_HOME/bin/kafka-server-start.sh,在顶部加入下面的内容。注意,这个是kafka安装目录下的启动脚本,这里和kafka-manager没有关系。
# vim $KAFKA_HOME/bin/kafka-server-start.sh export JMX_PORT="9999" # mention port # you want to use for JMX. Ex. 9093 or 9999, export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT -Djava.rmi.server.hostname=kafka1 -Djava.net.preferIPv4Stack=true"
修改完成后,需要执行 kafka-server-start.sh,重新启动kafka。
上面的-Djava.rmi.server.hostname=kafka1,要改成你自己的kafka集群地址。
接下来回到kafka-manager的安装目录,执行下面的脚本启动它:
# nohup bin/kafka-manager &
查看Kafka manager
启动完成后,可以使用前面配置的http.port端口来访问它,例如:http://localhost:19000。
kafka manager支持多集群管理,因此进入后第一步就是添加集群(Add Cluster),成功后就可以进入查看详情。这部分的操作稍微熟悉一下就能掌握,就不一一演示了,下面是系统的部分截图:
至此,就完成了kafka-manager的配置,通过kafka-manager,可以更清晰地查看集群的运行状态。以及对Topic进行查看和操作。对Topic的操作这里就不再演示了,当你搭建成功后,可以自己尝试一下。
感谢阅读,希望这篇文章能给你带来帮助!