使用过KafKa集群的人都知道,要记住KafKa的命令对于新手确实比较难,所以一般都会寻找能在页面操作的管理工具。
今天跟大家介绍其中一款可视化Web界面管理工具,它就是kafka-manager,不过现在更名为CMAK。
kafka-manager管理工具简介
它最早由雅虎开源,功能非常齐全,展示的数据非常丰富。同时用户能够在界面上执行一些简单的集群管理操作。
不过雅虎已经将其更名为CMAK(Cluster Manager for Apache Kafka)。
CMAK支持的功能
- 管理多个集群
- 轻松检查集群状态(主题,消费者,偏移,代理,副本分发,分区分发)
- 运行首选副本选举
- 使用选项生成分区分配以选择要使用的代理
- 运行分区重新分配(基于生成的分配)
- 使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置)
- 删除主题(仅支持0.8.2+并记住在代理配置中设置delete.topic.enable = true)
- 主题列表现在指示标记为删除的主题(仅支持0.8.2+)
- 批量生成多个主题的分区分配,并可选择要使用的代理
- 批量运行重新分配多个主题的分区
- 将分区添加到现有主题
- 更新现有主题的配置
- 选择性为 broker level and topic level metrics 开放JMX polling
- 选择性过滤掉在zookeeper中没有ids|owners|offsets|directories的消费者
下面跟大家分享下如何部署安装这款管理工具。
CMAK管理工具支持的范围
- 支持 Kafka 0.8以上版本
- Java 11+
- zookeeper必须是3.5+版本。
可能有些会说要求这么多,还涉及zookeeper版本,那么你可以选择Kafka-manager的旧版本,比如1.3.3.23版本。
普通用户配置Java11环境
需要提前下载Java11压缩包,解压到指定位置。
这里我进行了如下配置:
- $ vim ~/.bash_profile
- export JAVA_HOME=$HOME/3rd/jdk-11.0.4
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- export PATH=$JAVA_HOME/bin:$PATH
生效环境变量
- $ source ~/.bash_profile
验证是否生效,如果显示是你部署的jdk目录路径,那么就生效成功了。
- $ which java
- ~/3rd/jdk-11.0.4/bin/java
普通用户下载安装包
官网地址:https://github.com/yahoo/CMAK
这里以3.0.0.5版本为例,进行下载。
- $ wget https://github.com/yahoo/CMAK/releases/download/3.0.0.5/cmak-3.0.0.5.zip
解压安装包,并进入解压后的目录。
- $ unzip cmak-3.0.0.5.zip$ cd cmak-3.0.0.5
修改配置文件application.conf
- $ vim cmak-3.0.0.5/conf/application.conf
用上面的命令编辑打开文件,将下面的两个配置项配置成你实际的kafka集群对应的zookeeper地址。
- kafka-manager.zkhosts="kafka-manager-zookeeper:2181"
- cmak.zkhosts="kafka-manager-zookeeper:2181"
启动服务
默认使用9000端口,如果端口占用,可以通过参数指定端口。
- $ bin/cmak -Dconfig.file=conf/application.conf -Dhttp.port=9001
效果图
- 点击上图的“Add Cluster"进入添加集群向导。
- 配置要管理的Kafka集群信息
注意:如果需要管理监控的Kafka集群已经开启JMX_PORT,那么就可以勾选额外蓝色的选项,否则不要勾选,按照默认的不勾选即可。
如果有报错内容是这个:
- Yikes! KeeperErrorCode = Unimplemented for /kafka-manager/mutex Try again.
那么你需要升级zookeeper到3.5+版本。
3.创建成功后,你就可以看到你的Kafka信息。
结束语
通过这个管理工具,我们可以进行Topic(主题)、分区等操作,不再需要通过命令行去调用Kafka集群获取信息,提高我们的效率。
补充一句:我之前一直用的是kafka-manager/archive/1.3.3.23.tar.gz的压缩包,新版本部署后效果是一样的。如果你所部署的kafka集群不支持最新CMAK的要求,可以下载1.3.3.23.tar.gz版本试试。