一.kafka-manager简介

  1. kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作。具体支持以下内容:<br />l管理多个集群<br />l轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发)<br />l运行首选副本选举<br />l使用选项生成分区分配以选择要使用的代理<br />l运行分区重新分配(基于生成的分配)<br />l使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置)<br />l删除主题(仅支持0.8.2+并记住在代理配置中设置delete.topic.enable = true)<br />l主题列表现在指示标记为删除的主题(仅支持0.8.2+)<br />l批量生成多个主题的分区分配,并可选择要使用的代理<br />l批量运行重新分配多个主题的分区<br />l将分区添加到现有主题<br />l更新现有主题的配置<br />kafka-manager 项目地址:[https://github.com/yahoo/kafka-manager](https://github.com/yahoo/kafka-manager)<br />

二.kafka-manager安装


1.下载安装包

使用Git或者直接从Releases中下载,这里我们下载 1.3.3.18 版本:https://github.com/yahoo/kafka-manager/releases
kafka-manager - 图1
[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]$ ls kafka-manager-1.3.3.18/appbuild.sbt conf img LICENCE project publicREADME.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](-[classifier]).[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 sbt0.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证明编译好了。
kafka-manager - 图2
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 libREADME.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]$ lsconf/application.confconsumer.propertieslogback.xml logger.xml routes
[admin@node21 kafka-manager-1.3.3.18]$ sudovi conf/application.conf 修改kafka-manager.zkhosts列表为自己的zk节点kafka-manager.zkhosts=”node21:2181,node22:2181,node23:2181”
kafka-manager - 图3
5.启动服务

启动zk集群,kafka集群,再启动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查看进程
kafka-manager - 图4
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.log2>&1&

WebUI查看:http://node21:8888/ 出现如下界面则启动成功。
kafka-manager - 图5

三.kafka-manager配置


1.新建Cluster

点击【Cluster】>【Add Cluster】打开如下添加集群配置界面:输入集群的名字(如Kafka-Cluster-1)和Zookeeper 服务器地址(如localhost:2181),选择最接近的Kafka版本
kafka-manager - 图6
其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1的配置错误,需要配置为>=2的值。提示如下。
kafka-manager - 图7
新建完成后,保存运行界面如下:
kafka-manager - 图8
kafka-manager - 图9
kafka-manager - 图10

四.kafka-manager管理


1.新建主题

Topic—-Create
kafka-manager - 图11
2.查看主题

Topic—-list
kafka-manager - 图12