1. 简介

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

2. 安装

1.下载安装包

使用 Git 或者直接从 Releases 中下载,这里我们下载 1.3.3.18 版本:https://github.com/yahoo/kafka-manager/releases

image.png

[admin@node21 software]$ wget https://github.com/yahoo/kafka-manager/archive/1.3.3.18.zip

2.解压安装包

[admin@node21 software]$ mv 1.3.3.18.zip kafka-manager-1.3.3.18.zip [admin@node21 software]$ unzip kafka-manager-1.3.3.18.zip -d /opt/module/ [admin@node21 software]$ cd /opt/module/ [admin@node21 module]$ ll drwxr-xr-x 9 admin admin 268 May 2700:33 jdk1.8 drwxr-xr-x 7 admin admin 122 Jun 1411:44 kafka_2.11-1.1.0 drwxrwxr-x 9 admin admin 189 Jul 704:44 kafka-manager-1.3.3.18 drwxr-xr-x 11 admin admin 4096 May 2910:14 zookeeper-3.4.12 [admin@node21 module]$ ls kafka-manager-1.3.3.18/app build.sbt conf img LICENCE project public README.md sbt src target test


3.sbt编译

1)yum安装sbt(因为kafka-manager需要sbt编译)

[admin@node21 ~]$ curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo [admin@node21 ~]$ sudo mv bintray-sbt-rpm.repo /etc/yum.repos.d/ [admin@node21 ~]$ sudo yum install sbt


修改仓库地址:(sbt 默认下载库文件很慢, 还时不时被打断),我们可以在用户目录下创建 touch ~/.sbt/repositories, 填上阿里云的镜像 # vi ~/.sbt/repositories

[repositories] local aliyun: http://maven.aliyun.com/nexus/content/groups/public/ typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala[scalaVersion]/)(sbt[sbtVersion]/)[revision]/[type]s/artifact.[ext], bootOnly sonatype-oss-releases maven-central sonatype-oss-snapshots


验证:检查sbt是否安装成功,查看命令输出,发现已经成功可以从 maven.aliyun.com/nexus 下载到依赖即表示成功

[admin@node21 ~]$ sbt-version


2)编译kafka-manager

[admin@node21 kafka-manager-1.3.3.18]$ ./sbt clean dist


看到打印这个消息 Getting org.scala-sbt sbt 0.13.9 (this may take some time)… 就慢慢等吧,可以到~/.sbt/boot/update.log 查看sbt更新日志。sbt更新好,就开始下载各种jar包,最后看到:Your package is ready in /opt/module/kafka-manager-1.3.3.18/target/universal/kafka-manager-1.3.3.18.zip 证明编译好了。

image.png

4.安装

环境准备:Java 8+ kafka集群搭建参考:CentOS7.5搭建Kafka2.11-1.1.0集群

重新解压编译好的kafka-manager-1.3.3.18.zip

[admin@node21 kafka-manager-1.3.3.18]$ lsbin conf lib README.md share

修改配置文件

[admin@node21 kafka-manager-1.3.3.18]$ pwd/opt/module/kafka-manager-1.3.3.18 [admin@node21 kafka-manager-1.3.3.18]$ ls conf/application.conf consumer.properties logback.xml logger.xml routes [admin@node21 kafka-manager-1.3.3.18]$ sudo vi conf/application.conf 修改kafka-manager.zkhosts列表为自己的zk节点kafka-manager.zkhosts=”node21:2181,node22:2181,node23:2181”

5.启动服务

启动 z k集群,kafk a集群,再启动 kafka-manager 服务。

bin/kafka-manager 默认的端口是9000,可通过 -Dhttp.port 指定端口;-Dconfig.file=conf/application.conf指定配置文件:

[admin@node21 kafka-manager-1.3.3.18]$ nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080 &


jps查看进程
image.png

6.编写服务启动脚本

chmod +x kafka-manager.sh

nohup /opt/module/kafka-manager-1.3.3.18/bin/kafka-manager -Dconfig.file=/opt/module/kafka-manager-1.3.3.18/conf/application.conf -Dhttp.port=8888 >/opt/module/kafka-manager-1.3.3.18/kafka-manager.log 2>&1 &


WebUI查看:http://node21:8888/ 出现如下界面则启动成功。
image.png

3. kafka-manager 配置

1.新建Cluster

点击【Cluster】>【Add Cluster】打开如下添加集群配置界面:输入集群的名字(如Kafka-Cluster-1)和 Zookeeper 服务器地址(如localhost:2181),选择最接近的 Kafka 版本

image.png

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

image.png

新建完成后,保存运行界面如下:
image.png

image.pngimage.png

4. kafka-manager 管理


1.新建主题

Topic—-Create

image.png

2.查看主题

Topic—-list

image.png