网站首页 > 开源技术 正文
1.文档编写目的
Fayson在前面的文章介绍了《0374-如何在CDH集群中部署Kafka Manager》,本篇文章Fayson介绍另外一款的监控工具Kafka-eagle,它可以同时监控多个集群,监控集群中Topic的被消费情况(包含Lag产生、Offset的改变及Partition分布),同时也支持SQL查询。接下来Fayson主要介绍下在非安全环境下Kafka-eagle的安装及使用。
- 内容概述
1.环境准备及安装
2.Kafka-eagle配置
3.Kafka-eagle使用
4.总结
- 测试环境
1.CM和CDH版本为6.1.0
2.Kafka版本为2.0.0
3.Kafka-eagle版本为1.2.9
2.环境准备及说明
1.Kafka-eagle运行依赖Java运行环境,需要在部署节点安装JDK(支持JDK8+)
export JAVA_HOME=/usr/java/jdk1.8.0_131-cloudera export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATH
验证Java环境是否配置成功
2.Kafka-eagle对Kafka版本支持
更多信息可在github上查看:https://github.com/smartloli/kafka-eagle
3.Kafka-eagle下载,可以在github上下载源码编译或是官网下载已编译好版本,地址如下
源码下载地址:https://github.com/smartloli/kafka-eagle
编译好版本下载地址:https://github.com/smartloli/kafka-eagle-bin/archive/v1.2.9.tar.gz
4.修改CDH中Kafka服务JMX监听地址,默认监听地址为127.0.0.1
将Broker Java Options选项中“-Dcom.sun.management.jmxremote.host=127.0.0.1”删除,修改后的配置如下:
-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80 -XX:+DisableExplicitGC -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.local.only=true
保存配置并重启Kakfa服务,启动成功后在命令行验证监听地址是否由127.0.0.1修改为0.0.0.0
3.Kafka-eagle安装及配置
1.Fayson选择已编译好的版本进行安装部署,使用wget命令直接下载
2.将下载的v1.2.9.tar.gz解压并移到/opt/clouera目录下
[root@cdh3 ~]# tar -zxvf v1.2.9.tar.gz [root@cdh3 ~]# tar -zxvf kafka-eagle-bin-1.2.9/kafka-eagle-web-1.2.9-bin.tar.gz [root@cdh3 ~]# mv kafka-eagle-web-1.2.9/ /opt/cloudera/kafka-eagle [root@cdh3 ~]# ll /opt/cloudera/kafka-eagle/
3.配置Kafka-eagle环境变量,在/etc/profile文件中增加如下内容
export KE_HOME=/opt/cloudera/kafka-eagle/ export export PATH=$KE_HOME/bin:$PATH
执行source /etc/profile命令使环境变量生效。
4.进入{KE_HOME}/conf目录下修改system-config.properties,内容如下:
#Fayson只有一个Kafka集群,所以注释了cluster2的配置 kafka.eagle.zk.cluster.alias=cluster1 cluster1.zk.list=cdh1:2181,cdh3:2181,cdh4:2181 #cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181 kafka.zk.limit.size=25 #kafka-eagle管理平台web端口号 kafka.eagle.webui.port=8048 #kafka版本为2.0.0使用的kafka存储offset cluster1.kafka.eagle.offset.storage=kafka #cluster2.kafka.eagle.offset.storage=zk #Kafka-eagle的监控指标及SQL功能开关 kafka.eagle.metrics.charts=true kafka.eagle.sql.fix.error=true kafka.eagle.sql.topic.records.max=5000 #删除Topic需要输入的token kafka.eagle.topic.token=keadmin #Kafka-eagle元数据库,默认为sqlite kafka.eagle.driver=com.mysql.jdbc.Driver kafka.eagle.url=jdbc:mysql://cdh4:3306/kafkaeagle?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull kafka.eagle.username=root kafka.eagle.password=123456
未列出的配置均使用默认配置即可。
5.配置中选择使用MySQL存储Kafka-eagle的元数据,需要在MySQL上创建一个kafkaeagle的数据库
6.进入{KE_HOME}/bin目录下启动kafka-eagle服务
[root@cdh3 bin]# pwd /opt/cloudera/kafka-eagle/bin [root@cdh3 bin]# chmod +x ke.sh [root@cdh3 bin]# ./ke.sh start
脚本执行成功显示如下:
脚本执行成功后,会提示kafka-eagle服务的访问地址及账号密码。
7.在浏览器输入http://test.cm.com:8048/ke
4.Kafka-eagle使用
1.输入账号密码登录Kafka-eagle,主页面总览Kafka集群的Brokers、Topics、Zookeepers及ConsumerGroups等信息
2.在管理界面行创建一个测试Topic
创建成功
CM上也可以看到创建成功的Topic
3.Kafka-eagle提供Mock功能,可以模拟向指定的Topic发送消息
4.查看Kafka集群所有Topic
点击Topic Name查看Topic的Partition、Leader、Replicas及ISR列表
5.Consumers下可以看到所有Group的消费Topic的情况及消费进度
点击Group名称查看详情
点击“Pending”查看具体Topic消费情况
6.通过Metrics可以看到集群的Brokers、Kafka和Zookeeper的各项监控指标
7.可以通过Kafka-eagle配置告警,关于消息消费延迟、Kafka和Zookeeper服务状告警,前提是需要配置邮箱服务器信息
8.系统管理功能用户、角色、系统功能管理
5.总结
1.相比之前介绍的Kafka Manager工具Fayson更喜欢Kafka-eagle,界面简洁操作方便
2.Kafka-eagle支持SQL查询,但Fayson使用的版本有个sql.js加载时报错,导致无法使用,暂时没有截图演示功能。
3.Kafka-eagle管理Kafka集群是通过JMX获取集群的信息,所以要确保Kafka的JMX已启用(CDH默认已启用),在C6版本JMX监听的IP地址为127.0.0.1,需要修改监听的IP地址。
4.支持邮件、微信和钉钉告警,Consumer group对指定topic消费滞后告警,集群Brokers和Zookeeper服务异常告警。
5.注意cluster2.kafka.eagle.offset.storage配置,Kafka较早版本(0.8.2.x)offset是存在Zookeeper的。
更多功能可参考官方文档:https://ke.smartloli.org/
在安装测试过程总使用的Kafka自带的性能测试脚本生成和消费消息
[root@cdh05 lib]# more /root/client.properties client.id=testgroup bootstrap.servers=cdh2:9092,cdh3:9092,cdh4:9092 max.request.size=4192256
生产消息脚本
/opt/cloudera/parcels/CDH/lib/kafka/bin/kafka-producer-perf-test.sh \ --topic test_topic_eagle \ --num-records 1000 \ --producer.config /root/client.properties \ --throughput 10 \ --record-size 1024
消费消息脚本
/opt/cloudera/parcels/CDH/lib/kafka/bin/kafka-consumer-perf-test.sh \ --topic test_topic_eagle \ --messages 1000 \ --fetch-size 10000 \ --broker-list cdh2:9092,cdh3:9092,cdh4:9092
猜你喜欢
- 2024-10-19 Seata 中Resource Manager (RM) 本地事务管理
- 2024-10-19 kill-9导致Kakfa重启失败,说多了都是泪
- 2024-10-19 快速掌握Kafka系列《三》配置项总结
- 2024-10-19 Flink 参数配置和常见参数调优(flink配置详解)
- 2024-10-19 基于 Flink 实现的商品实时推荐系统(附源码)
- 2024-10-19 Kafka+Spark Streaming管理offset的两种方法
- 2024-10-19 0500-使用Python2访问Kerberos环境下的Kafka
- 2024-10-19 Kafka大厂高频面试题:在保证高性能、高吞吐的同时保证高可用性
- 2024-10-19 Kafka+Spark Streaming管理offset的几种方法
- 2024-10-19 清华同方大数据岗位面试题(清华同方数据库官网)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)