centos7 安装kafka Manager
1.安装sbt编译环境
curl https://bintray.com/sbt/rpm/rpm |tee /etc/yum.repos.d/bintray-sbt-rpm.repo
yum install sbt
2.下载kafka-manager
https://github.com/yahoo/kafka-manager/releases
3.编译,重点是服务器能访问外网环境,下载依赖的包和软件会比较久,编译也比较漫长(我是花了半天时间)
cd kafka-manager
sbt clean dist
编译完以后,生成的包会在kafka-manager/target/universal 下面。生成的包只需要java环境就可以运行了,在部署的机器上不需要安装sbt。
ls -la
kafka-manager-1.3.3.4.zip
tmp
4.kafka Manager部署
(1).复制编译好的压缩包,在需要部署的kafka机器上解压即可
unzip kafka-manager-1.3.3.4.zip
(2).修改conf/application.conf,把kafka-manager.zkhosts改为自己的zookeeper服务器地址
kafka-manager.zkhosts=”192.168.1.237:2181”
(3)、启动
nohup /opt/kafka-manager-1.3.3.4/bin/kafka-manager -Dconfig.file=/opt/kafka-manager-1.3.3.4/conf/application.conf &
说明:正常来说,play框架应该会自动加载conf/application.conf配置里的内容,但是貌似这个不起作用,要显式指定才行。
默认http端口是9000,可以修改配置文件里的http.port的值,或者通过命令行参数传递:
./kafka-manager -Dhttp.port=9001
(4).kafka 默认是不开启JMX监控的,但是kafka-manager支持JMX监控,如果不添加,无法监控,所以我们需要配置kafka的JMX端口,并重启kafka
修改bin/kafka-server-start.sh,添加JMX_PORT参数,添加后样子如下:
if [ “x$KAFKA_HEAP_OPTS” = “x” ]; then
export KAFKA_HEAP_OPTS=”-Xmx1G -Xms1G”
export JMX_PORT=”9999”
fi
(5)访问 kafka-manager 的url地址 192.168.1.121:90000 添加集群,如下:
其他环境:
监控-Kafka Manager
yahoo为了简化开发者和服务工程师维护Kafka集群的工作,构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。
通过Kafka Manager用户能够更容易地发现集群中哪些主题或者分区分布不均匀,同时能够管理多个集群,能够更容易地检查集群的状态,能够创建主题,执行首选的副本选择,能够基于集群当前的状态生成分区分配,并基于生成的分配执行分区的重分配,此外,Kafka Manager还是一个非常好的可以快速查看集群状态的工具。
该软件是用Scala语言编写的。yahoo已经开源了Kafka Manager工具。这款Kafka集群管理工具主要支持以下几个功能:
1、管理几个不同的集群;
2、很容易地检查集群的状态(topics, brokers, 副本的分布, 分区的分布);
3、选择副本;
4、产生分区分配(Generate partition assignments)基于集群的当前状态;
5、重新分配分区。
6、支持kafka 0.8.2之上的版本删除Topic。
7、标记删除的分区的主题(0.8.2+)
8、批量产生分区分配为多个Topic
9、批量执行重新分配分区为个Topic
10、为已存在的Tpic增加分区。
11、选择是否启用JMX轮询代理和Topic的度量
编译安装kafka Manager的过程
安装sbt
sbt是scala的打包构建工具。编译kafka Manager之前需要安装sbt,下载地址:http://www.scala-sbt.org/download.html
我本地用的是windows版,执行安装文件就可以。
下载kafka Manager编译
kafka Manager是从github下载下来的,windows下先安装个git环境,git的环境安装这里就不介绍了。
在git的bash下,执行以下命令:
git clone https://github.com/yahoo/kafka-manager
kafka Manager将会拷贝到本地目录内。
在windows的命令行下,进入kafka-manager的主目录:
cd kafka-manager
执行以下命令:
sbt clean dist
sbt在编译的时候会通过ivy下载很多依赖包,网络不好的情况下往往会很长时间,而且很有可能下载不成功。我本地就一直没有下载成功过,通过在国外vps上执行sbt,将依赖包下载到vps上,然后再打包ftp下载到本地,覆盖本地的ivy cache,通过这种方式实现kafka manager的完成编译。
运行kafka Manager
Kafka Manager编译打包后的,生成的打包文件在target\universal目录下,目录下有个zip文件,这个文件就是kafka Manager编译打包后的可运行包。将zip文件拷贝到linux下。执行uzip,进行解压缩。进入kafka Manager目录,修改conf目录下的application.conf,修改值kafka-manager.zkhosts=”kafka-manager-zookeeper:2181”为真是的zookeeper的地址。保存
进入bin目录下执行命令:
../kafka-manager -Dconfig.file=../conf/application.conf
如果命令不能执行,请先给文件授权:
.chmod 777 kafka-manager
打开浏览器输入http://x.x.x.x:9000,即可进入kafka manager的管理页面。
填写集群名字,zk的地址和端口,选择kafka的版本,我测试用的版本是0.8.2.1。然后保存。
这里可以看到集群的Topic数量和Brokers的数据。点击数据可以看详细信息。