一.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 项目地址:GitHub - yahoo/CMAK: CMAK is a tool for managing Apache Kafka clusters
二.kafka-manager安装
1.下载安装包
使用Git或者直接从Releases中下载,这里我们下载 1.3.3.18 版本:Releases · yahoo/CMAK · GitHub
[admin@node21 software]$ wget https://github.com/yahoo/kafka-manager/archive/1.3.3.18.zip
.解压安装包
[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 27 00:33 jdk1.8
drwxr-xr-x 7 admin admin 122 Jun 14 11:44 kafka_2.11-1.1.0
drwxrwxr-x 9 admin admin 189 Jul 7 04:44 kafka-manager-1.3.3.18
drwxr-xr-x 11 admin admin 4096 May 29 10: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
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 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 证明编译好了。
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]$ ls bin 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.启动服务
启动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查看进程
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-ma nager-1.3.3.18/kafka-manager.log 2>&1 &
WebUI查看:http://node21:8888/ 出现如下界面则启动成功。
三.kafka-manager配置
1.新建Cluster
点击【Cluster】>【Add Cluster】打开如下添加集群配置界面:输入集群的名字(如Kafka-Cluster-1
)和 Zookeeper 服务器地址(如localhost:2181
),选择最接近的Kafka版本
其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1
的配置错误,需要配置为>=2
的值。提示如下。
新建完成后,保存运行界面如下:
四.kafka-manager管理
1.新建主题
Topic---Create
2.查看主题
Topic---list