一.kafka-manager简介
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
[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证明编译好了。
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”
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-manager-1.3.3.18/kafka-manager.log2>&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