1. Yahoo kafka manager介绍
项目地址:https://github.com/yahoo/kafka-manager
Requirements:
- Kafka 0.8.1.1 or 0.8.2.*
- sbt 0.13.x
- Java 8+
Kafka Manager是一个管控台,这款工具主要支持以下几个功能:
- 管理多个不同的集群;
- 很容易地检查集群的状态(topics, brokers, 副本的分布, 分区的分布);
- 选择副本;
- 产生分区分配(Generate partition assignments)基于集群的当前状态;
- 重新分配分区。
2. 环境信息
主机名 | 操作系统版本 | IP地址 | 安装软件 |
console | CentOS 7.0 | 114.55.29.246 | JDK1.8、kafka-manager-1.3.0.6.zip |
Kafka Manager可以装在任何一台机器上,我这里部署在一台单独的机器上。
4. 安装sbt0.13.9
[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
cd ~
mkdir .sbt
touch ~/.sbt/repositories
vi ~/.sbt/repositories
内容:
[repositories]
local
#oschina: http://maven.oschina.net/content/groups/public/
aliyun-nexus: http://maven.aliyun.com/nexus/content/groups/public/
jcenter: http://jcenter.bintray.com/
typesafe-ivy-releases: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
maven-central: http://repo1.maven.org/maven2/
验证:检查sbt是否安装成功,查看命令输出,发现已经成功可以从maven.aliyun.com/nexus
下载到依赖即表示成功
sbt -version
需要很长时间~耐心等待
5. 构建kafka manager包
1、下载项目包
wget https://github.com/yahoo/kafka-manager/archive/1.3.3.17.zip
#或者下载zip包上传到服务器
2、解压、编译
[root@console ~]# unzip -oq kafka-manager-1.3.3.17.zip
[root@console ~]# cd kkafka-manager-1.3.3.17
[root@console kafka-manager]#./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 证明编译好了。
3、安装
重新解压编译好的kafka-manager-1.3.3.18.zip
cp /opt/software/kafka-manager-1.3.3.18/target/universal/kafka-manager-1.3.3.18.zip /opt
cd /opt
unzip -oq kafka-manager-1.3.3.18.zip
修改配置文件
vi conf/application.conf
#修改kafka-manager.zkhosts列表为自己的zk节点
kafka-manager.zkhosts="node21:2181,node22:2181,node23:2181"
6、启动服务
启动zk集群,kafka集群,再启动kafka-manager服务。
bin/kafka-manager 默认的端口是9000,可通过 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置文件:
nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port= &
jps查看进程:
7、编写服务启动脚本
chmod +x kafka-manager.sh
nohup /opt/kafka-manager-1.3.3.17/bin/kafka-manager -Dconfig.file=/opt/kafka-manager-1.3.3.17/conf/application.conf -Dhttp.port= >/opt/kafka-ma
nager-1.3.3.17/kafka-manager.log >& &
浏览器访问:http://192.168.1.106:8081
八、kafka-manager配置
1.新建Cluster
点击【Cluster】>【Add Cluster】打开如下添加集群配置界面:输入集群的名字(如Kafka-Cluster-1
)和 Zookeeper 服务器地址(如localhost:2181
),选择最接近的Kafka版本
其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1
的配置错误,需要配置为>=2
的值。提示如下。
新建完成后,保存运行界面如下:
九、kafka-manager管理
1.新建主题
Topic---Create