Kafka Manager是 Yahoo 推出的 Kafka 开源管理工具,用于管理Apache Kafka集群的工具,用户可以在Web界面执行一些简单的Kafka集群管理操作
Kafka Manager支持以下内容:
- 管理多个集群
- 轻松检查群集状态(主题,使用者,偏移量,代理,副本分发,分区分发)
- 运行首选副本选择
- 生成带有选项的分区分配,以选择要使用的代理
- 运行分区的重新分配(基于生成的分配)
- 创建带有可选主题配置的主题(0.8.1.1与0.8.2+具有不同的配置)
- 删除主题(仅在0.8.2+上受支持,并记住在代理配置中设置delete.topic.enable = true)
- 主题列表指示标记为删除的主题(仅在0.8.2+上受支持)
- 批量生成多个主题的分区分配,并可以选择要使用的代理
- 批量运行分区的多个主题的重新分配
- 将分区添加到现有主题
- 更新现有主题的配置
Kafka Manager下载地址 https://github.com/yahoo/kafka-manager/releases下载下来的是源码包,需要进行sbt编译,为了方便我这里直接下载编译好的kafka-manager-1.3.3.8.zip
下面搭建kafka测试环境,简单演示kafka manager部署与使用
1、kafka环境准备
可以使用如下脚本创建单节点的kafka测试服务器
脚本如下(脚本写得较简单,可以忽略脚本健壮性)
#!/bin/bash setenforce=0 systemctl disable firewalld systemctl stop firewalld wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache echo "-----------安装JDK----------------" cd /opt unzip jdk_zookeeper_kafka.zip sleep 5 rpm -ivh jdk-8u251-linux-x64.rpm echo "export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64" >> /etc/profile echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile echo "export CLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar" >> /etc/profile echo "-----------安装zookeeper----------------" cd /opt tar -zxf apache-zookeeper-3.6.0-bin.tar.gz mv apache-zookeeper-3.6.0-bin zookeeper cd zookeeper mkdir data cd conf cp zoo_sample.cfg zoo.cfg sed -i "s#dataDir=/tmp/zookeeper#dataDir=/opt/zookeeper/data#g" zoo.cfg echo "server.1=127.0.0.1:2888:3888" echo 1 > /opt/zookeeper/data/myid echo "export PATH=\$PATH:/opt/zookeeper/bin" >> /etc/profile echo "-----------安装kafka----------------" cd /opt tar -zxf kafka_2.13-2.5.0.tgz mv kafka_2.13-2.5.0 kafka cd kafka mkdir data cd config cp server.properties server.properties_default sed -i "s#log.dirs=/tmp/kafka-logs#log.dirs=/opt/kafka/data#g" server.properties echo "listeners=PLAINTEXT://192.168.31.80:9092" >> server.properties sed -i "s#/opt/zookeeper/bin#/opt/zookeeper/bin:/opt/kafka/bin#g" /etc/profile source /etc/profile echo $PATH echo "已经完成安装 100%" echo "-----------请按如下方法启动zookeeper+kafka----------------" echo "1、先退出当前终端会话,重新连接" echo "2、执行zkServer.sh start 启动zookeeper服务" echo "3、执行kafka-server-start.sh -daemon /opt/kafka/config/server.properties启动kafka" echo "4、执行tail -f /opt/kafka/logs/server.log查看kafka启动日志"
上传jdk_zookeeper_kafka.zip和 kafka_install.sh
sh kafka_install.sh
2、修改kafka-server-start.sh,添加JMX启动参数
cd /opt cd kafka/bin vi kafka-server-start.sh #在export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"这一行下方添加 #export JMX_PORT="9999" if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export JMX_PORT="9999" fi
如下图所示
然后启动zookeeper和kafka
zkServer.sh start kafka-server-start.sh -daemon /opt/kafka/config/server.properties
3、上传kafka-manager安装包并修改参数
unzip kafka-manager-1.3.3.23.zip mv kafka-manager-1.3.3.23 kafka-manager cd kafka-manager/conf cp application.conf application.conf_default_bak
修改如下参数 vi application.conf
1)、将kafka-manager.zkhosts="kafka-manager-zookeeper:2181"修改为当前的zookeeper地址与端口
2)、开启用户名密码验证
basicAuthentication.enabled=false改为 basicAuthentication.enabled=true
4、启动kafka-manager
cd /opt/kafka-manager/bin ./kafka-manager -Dconfig.file=/opt/kafka-manager/conf/application.conf -Dhttp.port
5、添加集群,并查看集群的相关信息
kafka-topics.sh --create --zookeeper localhost:2181 --partitions 2 --replication-factor 1 --topic yuanfan_kafka_test kafka-console-producer.sh --bootstrap-server 192.168.31.80:9092 --topic yuanfan_kafka_test kafka-console-consumer.sh --bootstrap-server 192.168.31.80:9092 --topic yuanfan_ka
1)可以创建主题,测试主题的自生产与自消费
2)用之前配置文件中账户密码登录kafka-manager
默认admin/password
3)登录后的界面
4)添加集群,修改连接集群的配置
5)查看topic的信息
6)Topic的综合信息及指标信息