基于jmx监控kafka_0542-6.1.0-非安全环境下Kafka管理工具Kafka Eagle安装使用

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-clouderaexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATH
9d3c88c76955b8ca89be0b45f84852dc.png

验证Java环境是否配置成功

40df9d11443cc324964d245011c0d9d3.png

2.Kafka-eagle对Kafka版本支持

cb1ca3be09edc6569d15e966a0c7a939.png

更多信息可在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

c585cdb1853074c0cfc518e243105e12.png

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
898ce5a59937d0fe819e29ebf749b6a6.png

保存配置并重启Kakfa服务,启动成功后在命令行验证监听地址是否由127.0.0.1修改为0.0.0.0

93143c7c3592cdfd530084d0c6e0e06b.png

3.Kafka-eagle安装及配置

1.Fayson选择已编译好的版本进行安装部署,使用wget命令直接下载

a6ba12c163dc7c2e42cc782049292479.png

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/
6fcadb3a031961686f47b7824cff361d.png

3.配置Kafka-eagle环境变量,在/etc/profile文件中增加如下内容

export KE_HOME=/opt/cloudera/kafka-eagle/export export PATH=$KE_HOME/bin:$PATH
0e87b275102e4f1b0b1a913e406c5d08.png

执行source /etc/profile命令使环境变量生效。

4.进入{KE_HOME}/conf目录下修改system-config.properties,内容如下:

#Fayson只有一个Kafka集群,所以注释了cluster2的配置kafka.eagle.zk.cluster.alias=cluster1cluster1.zk.list=cdh1:2181,cdh3:2181,cdh4:2181#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181kafka.zk.limit.size=25#kafka-eagle管理平台web端口号kafka.eagle.webui.port=8048#kafka版本为2.0.0使用的kafka存储offsetcluster1.kafka.eagle.offset.storage=kafka#cluster2.kafka.eagle.offset.storage=zk#Kafka-eagle的监控指标及SQL功能开关kafka.eagle.metrics.charts=truekafka.eagle.sql.fix.error=truekafka.eagle.sql.topic.records.max=5000#删除Topic需要输入的tokenkafka.eagle.topic.token=keadmin#Kafka-eagle元数据库,默认为sqlitekafka.eagle.driver=com.mysql.jdbc.Driverkafka.eagle.url=jdbc:mysql://cdh4:3306/kafkaeagle?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullkafka.eagle.username=rootkafka.eagle.password=123456
dbeea8c51c035a231ee816846ee55aa0.png

未列出的配置均使用默认配置即可。

5.配置中选择使用MySQL存储Kafka-eagle的元数据,需要在MySQL上创建一个kafkaeagle的数据库

d06364436aef7964bff1c01a595d7791.png

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
77fb454cd7d77167e8f7873e80356c3f.png

脚本执行成功显示如下:

c041f342bf571fa8f15fea4ad66c9f3d.png

脚本执行成功后,会提示kafka-eagle服务的访问地址及账号密码。

7.在浏览器输入http://test.cm.com:8048/ke

2462e51589a4826baa0b4b3bbe7d7d55.png

4.Kafka-eagle使用

1.输入账号密码登录Kafka-eagle,主页面总览Kafka集群的Brokers、Topics、Zookeepers及ConsumerGroups等信息

d3bacefc637a20a4530a64e72fbee4e0.png

2.在管理界面行创建一个测试Topic

2f3f8450f8a51e9cc2eacb87160837a6.png

创建成功

e2e7ae1ec1eaef8698b9f5cc3e4ce6a2.png

CM上也可以看到创建成功的Topic

0e7bd3a07affdaca05f8583d4c454ba8.png

3.Kafka-eagle提供Mock功能,可以模拟向指定的Topic发送消息

dd74904239fbcea7e8d8f7222c42e063.png

4.查看Kafka集群所有Topic

6ea8883130072aeef0c20744515673a9.png

点击Topic Name查看Topic的Partition、Leader、Replicas及ISR列表

03d220223cfa605324edc2bd41c79730.png

5.Consumers下可以看到所有Group的消费Topic的情况及消费进度

2bf7ccc40092e30eba199d45fff23542.png

点击Group名称查看详情

e5319d17d872b0685bd8a446c893e559.png

点击“Pending”查看具体Topic消费情况

e2e0f4d257bd244ad7dd8e701ce9c65a.png

6.通过Metrics可以看到集群的Brokers、Kafka和Zookeeper的各项监控指标

6c79f5f8d269656637a9290cbedcce0a.png
e5795a32ba0d615bb1155ee7fa95adbf.png
0ac98ceb3bab6f68bfae46ca853415a1.png

7.可以通过Kafka-eagle配置告警,关于消息消费延迟、Kafka和Zookeeper服务状告警,前提是需要配置邮箱服务器信息

a908ac0deeefa271a0dfb3f2126dce34.png

8.系统管理功能用户、角色、系统功能管理

f7f90883632d213b20ee702bfc243614.png

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=testgroupbootstrap.servers=cdh2:9092,cdh3:9092,cdh4:9092max.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 怎么调用js项目_APP逆向神器之Frida【Android初级篇】

说到逆向APP,很多人首先想到的都是反编译,但是单看反编译出来的代码很难得知某个函数在被调用时所传入的参数和它返回的值,极大地增加了逆向时的复杂度,有没有什么办法可以方便地知道被传入的参数和返回值呢?答案是有的…

jdbc和mysql做游戏排行榜_MySQL数据库与JDBC编程

欢迎关注公众号:xfxuezhangMySQL数据库与JDBC编程JDBC (Java Database Connectivity)DDL(Data Definition Language,数据定义语言)语句创建表修改表结构增加列定义修改列定义删除列删除数据表清空表MySQL重命名数据表MySQL修改列名数据库约束索引(一个数…

mysql goldengate_goldengate同步mysql

一、source端add extract extl,vam,begin nowADD EXTTRAIL F:\ogg\mysql\dirdat\rl, EXTRACT EXTLedit params extlextract extlsourcedb testlocalhost:3306,userid root,password xifenfeiexttrail F:\ogg\mysql\dirdat\rldynamicresolutiongettruncatestable test.t_1;add E…

mysql 将时间戳_mysql 将时间戳直接转换成日期时间

date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串后面的 %Y%m%d 主要是将返回值格式化例如:mysql>SELECT FROM_UNIXTIME( 1249488000, %Y%m%d )->20071120mysql>SELECT FROM_UNIXTIME( 1249488000, %Y年%m月%d )->2007年11月…

mysql数据库时间字段看不懂_mysql数据库时间字段看不懂

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

简单mysql优化_mysql常见语句的简单优化策略

常见sql优化方法(1)优化insert语句大批量插入数据:对于Myisam类型的表,可以通过以下方式快速的导入大量的数据。ALTER TABLE tblname DISABLE KEYS; loading the dataALTER TABLE tblname ENABLE KEYS;这两个命令用来打开或者关闭Myisam表非唯一索引的更…

mysql 字符串函数大全_mysql 字符串函数大全

返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。mysql> select ASCII(2); -> 50mysql> select ASCII(2); -> 50mysql> select ASCII(dx); -> 100也可参见ORD()函数。ORD(str)如果字符串s…

ef mysql modelfirst_MySQL –EF edmx(Model First)– Sql Server table

一、mysql environmentWhen we create an new database,first We need draw er diagram for somebody to show your idea,but our company have no goodauthorised tool to design sqlserver ER diagram,so I use mysql graphical tool to design it, after that,you can use m…

db2 联邦 mysql_DB2联邦数据库及配置方法(及联邦密码修改)

如果您需要使用所有不同的数据库,包括选择、插入、更新和删除,就象所有的表都位于单个数据库中那样,那么将获得非常高的工作效率。数据库联邦就是要做到这一点:使所有表看起来象是在同一个数据库中那么,数据库联邦是怎…

apache支持mysql ubuntu_Ubuntu+Apache+PHP+Mysql环境搭建(完整版)

UbuntuApachePHPMysql环境搭建(完整版)一、操作系统Ubuntu 14.04 64位,阿里云服务器二、Apache1、安装Apache,安装命令:sudo apt-get install apache22、环境配置:1)配置文件:路径为/etc/apache2,配置文件是…

mysql t 保存_检查 (调试) - 离线消息保存到 MySQL - 《EMQ X Enterprise v4.1 中文文档》 - 书栈网 · BookStack...

离线消息保存到 MySQL搭建 MySQL 数据库,并设置用户名密码为 root/public,以 MacOS X 为例:$ brew install mysql$ brew services start mysql$ mysql-u root-h localhost-pALTER USERrootlocalhostIDENTIFIED BYpublic;初始化 MySQL 数据库:$ mysql-u r…

管家婆 mysql_管家婆数据库表.doc

管家婆数据库表.doc管家婆数据库表名称 代码 职员信息表 employee 库存商品信息表 Ptype 往来单位 btype 摘要表 Abstract 地区信息表 AreaType 会计科目表 atypecw 仓库信息表 Stock 部门信息表 Department 订单索引表 DlyndxOrder 订单明细表 BakDlyOrder 单据索引表 Dlyndx …

mysql5.7安装教程centos_MySQL5.7版CentOS系统简易安装教程

这一篇教程,我们一起来完成MySQL在CentOS系统中的安装。1、下载MySQL(Community版)RPM安装源。如果没有安装wget,需要先执行命令安装。执行命令:yum -y install wget然后,通过wget下载安装源。例如,下载到“/root/Down…

enum mysql byte_九、臭名昭著的 MySQL ENUM 类型 ( 上 )

MySQL 中,对于那些取值只有两三个,或者五个以内的值,想必,大多数人使用的应该都是 ENUM 类型吧,而剩下的另一部分人,应该都是使用 TINYINT(1) 。 我,就是剩下的那部分人。一方面我真的是太懒&am…

java @valid 密码不一致_一个成熟的Java项目如何优雅地处理异常

(一)概述异常处理是一个系统最重要的环节,当一个项目变得很大的时候,异常处理和日志系统能让你快速定位到问题。对于用户或者接口调用者而言,优雅的异常处理可以让调用者快速知道问题所在。本文将介绍如何优雅地处理异常。(二)使用通用的返回…

spark消费kafka产生数据堆积怎么处理_SparkStreaming读取Kafka的两种方式

本文主要从以下几个方面介绍SparkStreaming读取Kafka的两种方式:一、SparkStreaming简介二、Kafka简介三、Redis简介(可用于保存历史数据或偏移量数据)四、SparkStreaming读取Kafka数据的两种方式 五、演示Demo一、SparkStreaming简介可以参考这篇文章:SparkStreami…

MySQL数据步骤管控_数据管理的发展过程分为哪三个阶段

数据管理的发展过程分为哪三个阶段发布时间:2020-11-12 12:01:00来源:亿速云阅读:124作者:小新这篇文章主要介绍数据管理的发展过程分为哪三个阶段,文中介绍的非常详细,具有一定的参考价值,感兴…

myftpadmin+proftpd+mysql架设ftp服务器_linux下用Proftpd搭建ftp服务器及配置方法

首先proftpd是一个开源软件,其官方地址是http://www.proftpd.org,目前最高版本是:1.3.1(非稳定版),稳定的版本是1.3.0,下载文件为proftpd-1.3.0a.tar.gz我下载的是1.3.0,上传到服务器上后按照常规的方法安装…

mysql设置输出格式_rsyslog 配置mysql输出格式

http://www.rsyslog.com/doc/v8-stable/configuration/modules/ommysql.html文档中:Note rsyslog contains a canned default template to write to the MySQL database. It works on the MonitorWare schema. This template is:$template tpl,”insert into System…

nginx trac mysql svn_apache+mysql+trac+svn

Windows 2008 R2安装ApacheSVNTracMySQL步骤及心得一、软件准备1.Apache_2.2.14-win32-x86-no_ssl.msi2.Setup-Subversion-1.7.1.exe3.TortoiseSVN-1.6.16.215114.Mysql-5.5.28-win32.exehttp://www.doczj.com/doc/3bbc3a4b915f804d2b16c1e7.html Framework V4.06.Python-2.7.6…