一、kafka-manager简介
kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作。具体支持以下内容:
- 管理多个集群
- 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发)
- 运行首选副本选举
- 使用选项生成分区分配以选择要使用的代理
- 运行分区重新分配(基于生成的分配)
- 使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置)
- 删除主题(仅支持0.8.2+并记住在代理配置中设置delete.topic.enable = true)
- 主题列表现在指示标记为删除的主题(仅支持0.8.2+)
- 批量生成多个主题的分区分配,并可选择要使用的代理
- 批量运行重新分配多个主题的分区
- 将分区添加到现有主题
- 更新现有主题的配置
kafka-manager 项目地址:https://github.com/yahoo/kafka-manager
二、kafka-manager部署
1.下载安装包
使用Git或者直接从Releases中下载,此处从下面的地址下载3.0.0.4 版本:https://github.com/yahoo/kafka-manager/releases
注意上面地址下载下来的是源码包,需要进行编译,如果不想编译,可以直接下载编译好的kafka-manager-1.3.3.7.zip
下载地址:https://pan.baidu.com/s/12j2DEt94WsWRY6dD9aR6BQ
提取密码:8x57
[root@kafka01 ~]# unzip -o kafka-manager-1.3.3.7.zip
[root@kafka01 ~]# mv kafka-manager-1.3.3.7 /data/kafka-manager
[root@kafka01 ~]# cd /data/kafka-manager
[root@kafka01 kafka-manager]# vim conf/application.conf
·······
#kafka-manager.zkhosts="localhost:2181" #注释这一行,添加下面一行
kafka-manager.zkhosts="192.168.10.150:2181,192.168.10.151:2181,192.168.10.152:2181"
启动kafka-manager
[root@kafka01 kafka-manager]# nohup bin/kafka-manager >/dev/null 2>&1 &
需要注意:
kafka-manager默认的端口是9000,可通过-Dhttp.port在指定端口;-Dconfig.file=conf/application.conf指定配置文件;
[root@kafka01 kafka-manager]# nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9001 &
[root@kafka01 kafka-manager]# lsof -i:9000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 54414 root 109u IPv4 150470 0t0 TCP *:cslistener (LISTEN)
通过浏览器访问http://192.168.10.150:9000
kafka-mamager测试
新建 Cluster1
点击【Cluster】>【Add Cluster】打开如下添加集群的配置界面:
输入集群的名字(如Kafka-Cluster-test)和 Zookeeper 服务器地址(如localhost:2181),选择最接近的Kafka版本(如0.10.1.1)
-------------------------------------------------------------------
注意:如果没有在 Kafka 中配置过 JMX_PORT,千万不要选择第一个复选框。
Enable JMX Polling
如果选择了该复选框,Kafka-manager 可能会无法启动。
-------------------------------------------------------------------
其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1的配置错误,需要配置为>=2的值。提示如下。
新建完成后,运行界面如下:
查看TOPIC 信息
查看broker信息
管理 kafka-mamager
新建主题
点击【Topic】>【Create】可以方便的创建并配置主题。如下显示。
由于集群只有三个节点,故replication factor最多只能设置为3
================================================
针对上面Topic->Create新建主题的配置,下面根据一张图讲解
在上图一个Kafka集群中,有两个服务器,每个服务器上都有2个分区。P0,P3可能属于同一个主题,也可能是两个不同的主题。
如果设置的Partitons和Replication
Factor都是2,这种情况下该主题的分步就和上图中Kafka集群显示的相同,此时P0,P3是同一个主题的两个分区。P1,P2也是同一个主题的两个分区,Server1和Server2其中一个会作为Leader进行读写操作,另一个通过复制进行同步。
如果设置的Partitons和Replication Factor都是1,这时只会根据算法在某个Server上创建一个分区,可以是P0~4中的某一个(分区都是新建的,不是先存在4个然后从中取1个)。