当前位置: 代码迷 >> 综合 >> kafka Web UI可视化监控搭建 (kafka eagle,附JVM参数解释)
  详细解决方案

kafka Web UI可视化监控搭建 (kafka eagle,附JVM参数解释)

热度:75   发布时间:2023-10-19 10:44:46.0

0、eagle github地址附上:https://github.com/smartloli/kafka-eagle,这里采用的是kafka-eagle-web-1.3.7

下载地址: https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v1.3.7

1、修改KAFKA_HOME/bin/kafka-server-start.sh

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; thenexport KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:MetaspaceSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:InitiatingHeapOccupancyPercent=70"export JMX_PORT="9999"#export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

JVM参数解释:
看到有的小伙伴在自己机器上使用的是java8,而在上述的参数设置中用的还是PermSize(永久代空间设置),其实从java8开始已经没有永久代了,转而成了元空间(基于内存,若不设置MaxMetaspaceSize理论上只受物理机资源限制)。在自己集器上使用的是java8,所以就用了XX:MetaspaceSize=128m 。-Xms2G -Xmx2G即将初始JVM堆空间设置为2G,这两个参数指定了初始申请堆空间与最大堆申请空间,当这两个参数一致时可以在一定程度上提高虚拟机程序的工作性能,进而提高kafka的数据吞吐效率。而关于GC Collector,这里选择采用G1(Garbage First),一款当前主流Hotspot Vm下优秀的收集器;被Hotspot团队寄予厚望用来替代CMS。我想说到这里有兴趣的小伙伴自然就知道最后三个参数的意义了。

2、解压后给bin/ke.sh授予执行权限(默认是没有的)方便直接运行,顺便将eagle路径添加到/etc/profile方便直接启动

chmod u+x ke.sh

/etc/profile(记得改完后source一下)

export KE_HOME=/usr/SFT/kafka-eagle-web-1.3.7
export PATH=$PATH:$KE_HOME/bin

3、修改/conf/system-config.properties配置文件(注意根据自己机器上的实际情况进行配置)

# multi zookeeper&kafka cluster list
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=chdp11:2181,chdp11:2181,chdp11:2181# kafka eagle webui port
kafka.eagle.webui.port=8048# kafka offset storage
cluster1.kafka.eagle.offset.storage=kafka
#cluster2.kafka.eagle.offset.storage=zookeeper# enable kafka metrics
kafka.eagle.metrics.charts=true
kafka.eagle.sql.fix.error=false# kafka jdbc driver address
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://chdp11:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=root

如此kafka eagle的基本配置就完成了,而后将以上经过修改的文件分发到集群中。接下来依次启动zk、kafka集群,最后开启KE。

注意

  1. 需要重启上述zk、kafka集群,否则报错。
  2. ke 数据库无需手动创建,其会在eagle启动后自动创建并初始化必要的表。
  3. 注意时区问题,考虑配置:jdbc:mysql://chdp01:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT
ke.sh start

kafka Web UI可视化监控搭建 (kafka eagle,附JVM参数解释)
按提示打开网站输入对应账号密码,这里色差不太友好账号密码看不太清(看红框框内);初始账号为:admin,密码:123456。若初次启动输入密码后许久未有响应,考虑配置是否有问题,可查看logs下的error日志进行排查。我这里遇到过因为时区导致的数据连接问题。
kafka Web UI可视化监控搭建 (kafka eagle,附JVM参数解释)

首页
kafka Web UI可视化监控搭建 (kafka eagle,附JVM参数解释)
topic下的数据监控还是挺不错的,可以清楚看到各个topic、partition的数据负载情况。以此可以及时发现数据传输处理的问题以及时调整解决。
kafka Web UI可视化监控搭建 (kafka eagle,附JVM参数解释)
kafka Web UI可视化监控搭建 (kafka eagle,附JVM参数解释)