Kafka-Eagle 框架可以监控 Kafka 集群的整体运行情况,在生产环境中经常使用。
MySQL 环境准备
Kafka-Eagle 的安装依赖于 MySQL,MySQL 主要用来存储可视化展示的数据。如果集群中之前安装过 MySQL 可以跨过该步。
Kafka 环境准备
1)关闭 Kafka 集群
[root@hadoop102 kafka]$ kf.sh stop
2)修改/opt/module/kafka/bin/kafka-server-start.sh 命令中
[root@hadoop102 kafka]$ vim 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 之前要分发之其他节点
[root@hadoop102 bin]$ xsync kafka-server-start.sh
Kafka-Eagle 安装
官网:https://www.kafka-eagle.org/
1)上传压缩包 kafka-eagle-bin-2.0.8.tar.gz 到集群/opt/software 目录
2)解压到本地
[root@hadoop102 software]# tar -zxvf kafka-eagle-bin-2.0.8.tar.gz
3)进入刚才解压的目录
[root@hadoop102 software]# ll
drwxrwxr-x. 2 root root 39 10月 13 2021 kafka-eagle-bin-2.0.8
-rw-r--r--. 1 root root 81074069 6月 5 11:17 kafka-eagle-bin-2.0.8.tar.gz
[root@hadoop102 software]# cd kafka-eagle-bin-2.0.8/
[root@hadoop102 kafka-eagle-bin-2.0.8]# ll
-rw-rw-r--. 1 root root 81062577 10月 13 2021 efak-web-2.0.8-bin.tar.gz
4)将 efak-web-2.0.8-bin.tar.gz 解压至/opt/module
[root@hadoop102 kafka-eagle-bin-2.0.8]# tar -zxvf efak-web-2.0.8-bin.tar.gz -C /opt/module/
5)修改名称
[root@hadoop102 module]$ mv efak-web-2.0.8/ efak
6)修改配置文件 /opt/module/efak/conf/system-config.properties,只需要改如下内容
######################################
efak.zk.cluster.alias=cluster1
cluster1.zk.list=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
######################################
# kafka offset storage
######################################
# offset 保存在 kafka
cluster1.efak.offset.storage=kafka
######################################
# kafka sqlite jdbc driver address
######################################
# 配置 mysql 连接
efak.driver=com.mysql.jdbc.Driver
efak.url=jdbc:mysql://hadoop102:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=000000
7)添加环境变量
[root@hadoop102 conf]$ sudo vim /etc/profile.d/my_env.sh
# kafkaEFAK
export KE_HOME=/opt/module/efak
export PATH=$PATH:$KE_HOME/bin
注意:source /etc/profile
[root@hadoop102 conf]$ source /etc/profile
8)启动
(1)注意:启动之前需要先启动 ZK 以及 KAFKA。
[root@hadoop102 kafka]$ zk.sh start
[root@hadoop102 kafka]$ kf.sh start
(2)启动 efak
[root@hadoop102 efak]# bin/ke.sh start
[2022-06-05 11:52:19] INFO: [Job done!]
Welcome to
______ ______ ___ __ __
/ ____/ / ____/ / | / //_/
/ __/ / /_ / /| | / ,<
/ /___ / __/ / ___ | / /| |
/_____/ /_/ /_/ |_|/_/ |_|
( Eagle For Apache Kafka® )
Version 2.0.8 -- Copyright 2016-2021
*******************************************************************
* EFAK Service has started success.
* Welcome, Now you can visit 'http://192.168.168.21:8048'
* Account:admin ,Password:123456
*******************************************************************
* <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
* <Usage> https://www.kafka-eagle.org/ </Usage>
*******************************************************************
Welcome, Now you can visit ‘http://192.168.168.21:8048’ : Eagle地址
Account:admin ,Password:123456 用户名和密码
说明:如果停止 efak,执行命令。
[root@hadoop102 efak]$ bin/ke.sh stop
Kafka-Eagle 页面操作
1)登录页面查看监控数据
2)监控数据详情信息
3)可视化大屏信息