当前位置:   article > 正文

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

cmak

一、简介

为了简化开发者和服务工程师维护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

 二、环境

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

  1. 1、jdk
  2. java version "11.0.15.1"
  3. 2、kafka集群信息
  4. 服务器:
  5. 192.168.10.6:9092
  6. 192.168.10.7:9093
  7. 192.168.10.8:9094
  8. 软件:
  9. kafka_2.11-2.1.1
  10. zookeeper-3.4.14

三、下载安装

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

2. 下载zip,并上传至linux,解压

3. 进入目录,3.0.0.5已无需编译

 4. 配置文件(conf/application.conf

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

  1. #play.i18n.langs=["en"]
  2. play.i18n.langs=["ch"]
  3. play.http.requestHandler = "play.http.DefaultHttpRequestHandler"
  4. play.http.context = "/"
  5. play.application.loader=loader.KafkaManagerLoader
  6. # Settings prefixed with 'kafka-manager.' will be deprecated, use 'cmak.' instead.
  7. # https://github.com/yahoo/CMAK/issues/713
  8. #kafka-manager.zkhosts="kafka-manager-zookeeper:2181"
  9. #kafka-manager.zkhosts=${?ZK_HOSTS}
  10. kafka-manager.zkhosts="192.168.10.9:2181"
  11. #cmak.zkhosts="kafka-manager-zookeeper:2181"
  12. #cmak.zkhosts=${?ZK_HOSTS}
  13. 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地址:端口访问测试

 启动成功!

四、测试CMAK

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

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

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

 基本写这几个就行了

其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1的配置错误,需要配置为>=2的值。默认配置如下

 新建完成后,运行界面如下

 主题列表

 

 broker

 

问题

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

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

解决办法

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

  1. //登录到zookeeper客户端
  2. [root@kf-cache-61 ~]# /usr/local/kafka/zookeeper-3.4.14/bin/zkCli.sh
  3. //手动创建/ kafka-manager / mutex / locks和/ kafka-manager / mutex / leases节点
  4. [zk: localhost:2181(CONNECTED) 0] ls /kafka-manager
  5. [configs, deleteClusters, clusters]
  6. [zk: localhost:2181(CONNECTED) 1] create /kafka-manager/mutex ""
  7. Created /kafka-manager/mutex
  8. [zk: localhost:2181(CONNECTED) 2] create /kafka-manager/mutex/locks ""
  9. Created /kafka-manager/mutex/locks
  10. [zk: localhost:2181(CONNECTED) 3] create /kafka-manager/mutex/leases ""
  11. Created /kafka-manager/mutex/leases
  12. [zk: localhost:2181(CONNECTED) 4]

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

五、使用

1、新建主题

其他参数配置,不再讲解

主题列表

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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/461535
推荐阅读
相关标签
  

闽ICP备14008679号