本篇文章大概2537字,阅读时间大约13分钟

Kafka产线环境需要管理的Topic和Consumser越来越多,使用命令行工具进行管理会非常繁杂。因此,大数据平台上需要一套Kafka的管理监控系统,Kafka-Eagle。

集群环境

  • CDH5.16.2
  • CDH Kafka - 4.1.0
  • Kafka-Eagle-2.0.2

1

Kafka-Eagle

Kafka Eagle是一个用于监控和管理kafka的开源组件,可以同时监控多个kafka集群。Kafka Eagle提供了完善的监控页面和kafka常用操作的管理界面,便于管理员对kafka集群进行运维管理。

Kafka Eagle提供了KSQL操作的可视化界面,让你可以非常快速的查看kafka中的消息。

Kafka Eagle支持多种报警方式,如钉钉,微信和邮件等。

官网:http://www.kafka-eagle.org/

2

Kafka-Eagle安装部署

CDH集群上所有的工具组件都部署在集群的工具节点上。

软件下载

http://download.kafka-eagle.org/

Kafka with KRaft 集群 认证 kafka集群管理_zookeeper

  • 将安装包上传到opt目录并进行解压
tar -zxvf kafka-eagle-bin-2.0.2.tar.gz -C /opt/

tar -zxvf kafka-eagle-web-2.0.2-bin.tar.gz -C /opt/

mv kafka-eagle-web-2.0.2 kafka-eagle-2.0.2

Kafka with KRaft 集群 认证 kafka集群管理_zookeeper_02

参数配置

  • 配置kafka eagle环境变量
vi /etc/profile

#kafka eagle
export KE_HOME=/opt/kafka-eagle-2.0.2
export PATH=$PATH:$KE_HOME/bin

#环境变量生效
source /etc/profile

Kafka with KRaft 集群 认证 kafka集群管理_数据库_03

  • 创建元数据库,存放在mysql中
CREATE DATABASE ke DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;
CREATE USER 'ke'@'%' IDENTIFIED BY 'ke123!';
GRANT ALL PRIVILEGES ON ke.* TO 'ke'@'%' IDENTIFIED BY 'ke123!';
flush privileges;
  • 修改kafka-eagle的配置文件
  • 主要注意集群的zk信息,kafka eagle的端口,kafka的offset存储在zk还是topic及元数据库的配置
cd $KE_HOME/conf

vi system-config.properties

# 修改配置文件
######################################
# multi zookeeper & kafka cluster list
######################################
# 指定kafka集群名称,可以配多个,采用逗号分隔
kafka.eagle.zk.cluster.alias=ca-prod
ca-prod.zk.list=xx1:2181,xx2:2181,xx3:2181

######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048

######################################
# kafka offset storage
######################################
ca-prod.kafka.eagle.offset.storage=kafka
#cluster2.kafka.eagle.offset.storage=zk

######################################
# kafka metrics, 15 days by default
######################################
kafka.eagle.metrics.charts=true
#保留5天的kafka metrics
kafka.eagle.metrics.retain=5

######################################
# kafka mysql jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://10.64.xx.xx:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=ke
kafka.eagle.password=ke123!
  • 启动kafka eagle
sh ke.sh start

Kafka with KRaft 集群 认证 kafka集群管理_大数据_04

  • 查看logs目录,可以查看日志
  • log.log
  • error.log
  • ke_console.log
  • 访问页面http://utility2.changan.com:8048/, 输入admin 123456

Kafka with KRaft 集群 认证 kafka集群管理_zookeeper_05

  • kafka-eagle部署完成

3

Kafka-Eagle简单使用

仪表盘

  • 列出kafka集群的概况
  • broker
  • topic
  • zk
  • 消费者组
  • topic的lag和容量统计指标

Kafka with KRaft 集群 认证 kafka集群管理_docker_06

Topic

  • 实现kafka topic的查看 KSQL Mock数据发送 管理功能
创建

Kafka with KRaft 集群 认证 kafka集群管理_数据库_07

修改配置

Kafka with KRaft 集群 认证 kafka集群管理_docker_08

Mock数据
  • 用于测试流应用非常方便

Kafka with KRaft 集群 认证 kafka集群管理_大数据_09

展示Topic详情

Kafka with KRaft 集群 认证 kafka集群管理_分布式_10

  • 点击topic名称可以查看topic详情

消费者

  • 点进去查看消费者详情
  • 查看熟悉的offset和lag

Kafka with KRaft 集群 认证 kafka集群管理_分布式_11

4

总结

Kafka-Eagle界面简洁,功能全面,支持多集群管理,基本上覆盖了,kafka的常规使用场景。与使用Prometheus监控kafka相比,Kafka-Eagle提供了更多的topic管理和KSQL数据查看功能,更适合kafka管理员使用。