目录
在大数据处理的世界中,Kafka 作为一款强大的分布式消息队列系统,广泛应用于数据传输与处理的各个环节。然而,在生产环境中,对 Kafka 集群的有效监控至关重要。本文将详细介绍如何使用 Kafka-Eagle 框架来监控 Kafka 集群,以及相关的安装与配置步骤,帮助大家构建一个稳定且可视化的监控环境。
一、Kafka-Eagle 概述
Kafka-Eagle 框架为我们提供了便捷的图形化界面,使我们无需再依赖繁琐的命令行操作来管理 Kafka 集群。它能够直观地展示集群的整体运行情况,包括创建 topic、查看 topic 信息、分区详情等,极大地提高了我们的运维效率。
二、环境准备
MySQL 环境准备
Kafka-Eagle 的安装依赖于 MySQL,其主要用于存储可视化展示的数据。如果集群中已安装 MySQL,则可跳过此步骤。否则,需先安装并配置好 MySQL 服务,确保其正常运行。
Kafka 环境准备
首先关闭 Kafka 集群,执行命令
kf.sh stop
接着修改 /opt/installs/kafka3/bin/kafka-server-start.sh
命令中的参数:
将原参数
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
修改为
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
export JMX_PORT="9999"
#export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
修改完成后,在启动 Kafka 之前要将 kafka-server-start.sh
分发到其他节点,使用命令
xsync.sh kafka-server-start.sh
三、Kafka-Eagle 安装步骤
下载
访问官网 https://www.kafka-eagle.org
下载压缩包 kafka-eagle-bin-2.0.8.tar.gz 并上传到集群 /opt/modules 目录下。
通过网盘分享的文件:kafka-eagle-bin-2.0.8.tar.gz
安装
在 /opt/modules 目录下解压
tar -zxvf kafka-eagle-bin-2.0.8.tar.gz
进入解压后的目录cd kafka-eagle-bin-2.0.8,将 efak-web-2.0.8-bin.tar.gz 解压至/opt/installs,执行命令。
cd kafka-eagle-bin-2.0.8
tar -zxvf efak-web-2.0.8-bin.tar.gz -C /opt/installs/
修改名称
mv efak-web-2.0.8/ efak
修改配置文件 /opt/installs/efak/conf/system-config.properties
vi system-config.properties
修改如下:
# offset 保存在 kafka
cluster1.efak.offset.storage=kafka
efak.zk.cluster.alias=cluster1,cluster2
cluster1.zk.list=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
cluster2.zk.list=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
# 修改数据库连接:&serverTimezone=GMT 时区一定要写,否则报405错误!
# 127.0.0.1 = localhost hosts文件中定义的
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT
efak.username=root
efak.password=123456
添加环境变量并执行 source /etc/profile 刷新环境变量
# kafkaEFAK
export KE_HOME=/opt/installs/efak
export PATH=$PATH:$KE_HOME/bin
source /etc/profile
启动数据库
systemctl start mysqld
并检查状态 systemctl status mysqld
,新建一个名为 ke
的数据库。
systemctl start mysqld
systemctl status mysqld
启动相关服务
启动 ZK 和 KAFKA,执行命令
xcall.sh zkServer.sh start
kf.sh start
启动 efak
,执行命令
bin/ke.sh start
若停止 efak
,则执行
bin/ke.sh stop
若启动后无法访问,可查看 efak
中的 log
日志排查问题。
使用的时候,一定要在配置文件中编写正确的路径,否则kafka集群没办法连接:
cluster1.zk.list=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
cluster2.zk.list=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
查看可视化大屏的时候:
1、同步一下时间 systemctl restart chronyd
2、要开启消费者
3、要开发生产者
4、关闭flume (选项)
5、如果都没效果,可以添加一句话 在zkServer.sh 中
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
全部重启一下,这些服务
要想看到大屏数据,此处的JMX必须是上线状态:
四、Kafka-Eagle 页面操作
登录页面 http://192.168.10.102:8048/
或 http://192.168.10.102:8048/ke
即可查看监控数据。通过这个图形化界面,我们可以方便地管理 Topic,查看 Kafka 集群的消息发送和消费情况,还能操作 ZK。
http://192.168.10.102:8048/
http://192.168.10.102:8048/ke
五、Kafka-UI 的安装
通过网盘分享的文件:kafka-ui-lite-1.2.11-bin.tar.gz
上传安装包 kafka-ui-lite-1.2.11-bin.tar.gz
到 /opt/modules
目录并解压到 /opt/installs/
重命名
tar -zxvf kafka-ui-lite-1.2.11-bin.tar.gz -C /opt/installs/
mv kafka-ui-lite-1.2.11/ kafka-ui
修改环境变量
export KAFKA_UI_HOME=/opt/installs/kafka-ui
export PATH=$PATH:$KAFKA_UI_HOME/bin
刷新环境变量
source /etc/profile
进入 bin
路径下启动:./kafkaUI.sh -d start
cd /opt/installs/kafka-ui/bin
./kafkaUI.sh start
访问界面
http://bigdata01:8889/
六、总结
通过以上步骤,我们成功地安装和配置了 Kafka-Eagle 监控框架以及可选的 Kafka-UI。这将极大地提升我们对 Kafka 集群的监控与管理能力,使我们能够更加高效地应对生产环境中的各种问题,确保 Kafka 集群的稳定运行,为大数据处理流程提供坚实的保障。在实际应用过程中,若遇到问题,一定要仔细查看相关日志,通常都能找到解决问题的线索。