Kafka可视化管理工具-CMAK(kafka-manager)

2年前 (2022) 程序员胖胖胖虎阿
443 0 0

一、简介

为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager(已改名为 cmak)。

这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。

它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:

1.管理多个kafka集群
2.便捷的检查kafka集群状态(topics,brokers,备份分布情况,分区分布情况)
3.选择你要运行的副本
4.基于当前分区状况进行
5.可以选择topic配置并创建topic(0.8.1.1和0.8.2的配置不同)
6.删除topic(只支持0.8.2以上的版本并且要在broker配置中设置delete.topic.enable=true)
7.Topic list会指明哪些topic被删除(在0.8.2以上版本适用)
8.为已存在的topic增加分区
9.为已存在的topic更新配置
10.在多个topic上批量重分区
11.在多个topic上批量重分区(可选partition broker位置)

kafka-manager 项目地址:https://github.com/yahoo/kafka-manager

Kafka可视化管理工具-CMAK(kafka-manager)

Kafka可视化管理工具-CMAK(kafka-manager)

 二、环境

        注意:cmak环境要求JDK版本为11

1、jdk
java version "11.0.15.1"

2、kafka集群信息
服务器:
192.168.10.6:9092
192.168.10.7:9093
192.168.10.8:9094
软件:
kafka_2.11-2.1.1
zookeeper-3.4.14

三、下载安装

1. 项目下载地址:https://github.com/yahoo/CMAK/releases

2. 下载zip,并上传至linux,解压
Kafka可视化管理工具-CMAK(kafka-manager)

3. 进入目录,3.0.0.5已无需编译
Kafka可视化管理工具-CMAK(kafka-manager)

 4. 配置文件(conf/application.conf
Kafka可视化管理工具-CMAK(kafka-manager)

 修改 application.conf
将 kafka-manager.zkhosts="kafka-manager-zookeeper:2181" 中的 zookeeper 地址换成自己安装的,原配置的 kafka-manager.zkhosts ,cmak.zkhosts注释,参考下面:

#play.i18n.langs=["en"]
play.i18n.langs=["ch"]

play.http.requestHandler = "play.http.DefaultHttpRequestHandler"
play.http.context = "/"
play.application.loader=loader.KafkaManagerLoader

# Settings prefixed with 'kafka-manager.' will be deprecated, use 'cmak.' instead.
# https://github.com/yahoo/CMAK/issues/713
#kafka-manager.zkhosts="kafka-manager-zookeeper:2181"
#kafka-manager.zkhosts=${?ZK_HOSTS}
kafka-manager.zkhosts="192.168.10.9:2181"
#cmak.zkhosts="kafka-manager-zookeeper:2181"
#cmak.zkhosts=${?ZK_HOSTS}
cmak.zkhosts="192.168.10.9:2181"

5. 开通端口

(1)各个宿主机(zookeeper 开通端口/或防火墙,保证cmak 服务器可访问对应端口)
(2)cmak 服务器开通页面访问端口(默认9000,若有使用冲突,可启动配置其他端口)

6. 启动

确保自己本地的ZK已经启动了之后,我们来启动Kafka-manager。

kafka-manager 默认的端口是9000。

可通过 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置文件:

临时启动:
bin/kafka-manager -Dhttp.port=10001

后台启动(最好使用脚本,存储pid):
nohup bin/kafka-manager -Dhttp.port=10001 &

使用ip地址:端口访问测试

Kafka可视化管理工具-CMAK(kafka-manager)

 启动成功!

四、测试CMAK

点击【Cluster】>【Add Cluster】打开如下添加集群的配置界面:

输入集群的名字(如Kafka-Cluster-1)和 Zookeeper 服务器地址(如localhost:2181),选择最接近的Kafka版本(如2.2.0)

注意:如果没有在 Kafka 中配置过 JMX_PORT,千万不要选择第一个复选框。
Enable JMX Polling
如果选择了该复选框,Kafka-manager 可能会无法启动。

Kafka可视化管理工具-CMAK(kafka-manager)

 基本写这几个就行了Kafka可视化管理工具-CMAK(kafka-manager)

其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1的配置错误,需要配置为>=2的值。默认配置如下
Kafka可视化管理工具-CMAK(kafka-manager)

 新建完成后,运行界面如下
Kafka可视化管理工具-CMAK(kafka-manager)

Kafka可视化管理工具-CMAK(kafka-manager)

 主题列表

Kafka可视化管理工具-CMAK(kafka-manager)

 

 broker

Kafka可视化管理工具-CMAK(kafka-manager)

 

问题

配置保存失败:kafka manager添加集群出现错误KeeperErrorCode

Yikes! KeeperErrorCode = Unimplemented for /kafka-manager/mutex Try again.

解决办法

登录到zookeeper客户端,手动创建/ kafka-manager/ mutex / locks和/ kafka-manager / mutex / leases节点

//登录到zookeeper客户端
[root@kf-cache-61 ~]# /usr/local/kafka/zookeeper-3.4.14/bin/zkCli.sh


//手动创建/ kafka-manager / mutex / locks和/ kafka-manager / mutex / leases节点
[zk: localhost:2181(CONNECTED) 0] ls /kafka-manager
[configs, deleteClusters, clusters]
[zk: localhost:2181(CONNECTED) 1] create /kafka-manager/mutex ""
Created /kafka-manager/mutex
[zk: localhost:2181(CONNECTED) 2] create /kafka-manager/mutex/locks ""
Created /kafka-manager/mutex/locks
[zk: localhost:2181(CONNECTED) 3] create /kafka-manager/mutex/leases ""
Created /kafka-manager/mutex/leases
[zk: localhost:2181(CONNECTED) 4] 

参考文档:Kafka可视化管理工具kafka-manager部署安装和使用-已更名为CMAK_沮丧的南瓜的博客-CSDN博客_kafka manager
kafka manager添加集群出现错误KeeperErrorCode_胖琦的博客-CSDN博客

五、使用

1、新建主题

其他参数配置,不再讲解

Kafka可视化管理工具-CMAK(kafka-manager)

主题列表

Kafka可视化管理工具-CMAK(kafka-manager)

 点击【topic】下面的主题名称,即可查看主题

Kafka可视化管理工具-CMAK(kafka-manager)

 

版权声明:程序员胖胖胖虎阿 发表于 2022年9月21日 下午3:32。
转载请注明:Kafka可视化管理工具-CMAK(kafka-manager) | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...