• Kafka (七) --------- Kafka-Eagle 监控



    Kafka-Eagle 框架可以监控 Kafka 集群的整体运行情况,在生产环境中经常使用。

    一、环境准备

    MySQL 环境准备

    Kafka-Eagle 的安装依赖于 MySQL,MySQL 主要用来存储可视化展示的数据。

    Kafka 环境准备

    A、关闭 Kafka 集群

    [fancyry@hadoop102 kafka]$ kf.sh stop
    
    • 1

    B、修改 /opt/module/kafka/bin/kafka-server-start.sh 命令中

    [fancyry@hadoop102 kafka]$ vim bin/kafka-server-start.sh
    
    • 1

    修改如下参数值:

    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    fiif [ "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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意:修改之后在启动 Kafka 之前要分发之其他节点

    [fancyry@hadoop102 bin]$ xsync kafka-server-start.sh
    
    • 1

    二、Kafka-Eagle 安装

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

    A、上传压缩包 kafka-eagle-bin-2.0.8.tar.gz 到集群/opt/software 目录

    B、解压到本地

    [fancyry@hadoop102 software]$ tar -zxvf kafka-eagle-bin-2.0.8.tar.gz
    
    • 1

    C、进入刚才解压的目录

    [fancyry@hadoop102 kafka-eagle-bin-2.0.8]$ ll
    总用量 79164
    -rw-rw-r--. 1 fancyry fancyry 81062577 1013 00:00 efak-web-2.0.8-bin.tar.gz
    
    • 1
    • 2
    • 3

    D、将 efak-web-2.0.8-bin.tar.gz 解压至 /opt/module

    [fancyry@hadoop102 kafka-eagle-bin-2.0.8]$ tar -zxvf efak-web-2.0.8-bin.tar.gz -C /opt/module/
    
    • 1

    E、修改名称

    [fancyry@hadoop102 module]$ mv efak-web-2.0.8/ efak
    
    • 1

    F、修改配置文件 /opt/module/efak/conf/system-config.properties

    [fancyry@hadoop102 conf]$ vim system-config.properties
    ######################################
    # multi zookeeper & kafka cluster list
    # Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.'
    instead
    ######################################
    efak.zk.cluster.alias=cluster1
    cluster1.zk.list=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
    ######################################
    # zookeeper enable acl
    ######################################
    cluster1.zk.acl.enable=false
    cluster1.zk.acl.schema=digest
    cluster1.zk.acl.username=test
    cluster1.zk.acl.password=test123
    ######################################
    # broker size online list
    ######################################
    cluster1.efak.broker.size=20
    ######################################
    # zk client thread limit
    ######################################
    kafka.zk.limit.size=32
    ######################################
    # EFAK webui port
    ######################################
    efak.webui.port=8048
    ######################################
    # kafka jmx acl and ssl authenticate
    ######################################
    cluster1.efak.jmx.acl=false
    cluster1.efak.jmx.user=keadmin
    cluster1.efak.jmx.password=keadmin123
    cluster1.efak.jmx.ssl=false
    cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststor
    e
    cluster1.efak.jmx.truststore.password=ke123456
    ######################################
    # kafka offset storage
    ######################################
    # offset 保存在 kafka
    cluster1.efak.offset.storage=kafk
    
    ######################################
    # kafka jmx uri
    ######################################
    cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi
    ######################################
    # kafka metrics, 15 days by default
    ######################################
    efak.metrics.charts=true
    efak.metrics.retain=15
    ######################################
    # kafka sql topic records max
    ######################################
    efak.sql.topic.records.max=5000
    efak.sql.topic.preview.records.max=10
    ######################################
    # delete kafka topic token
    ######################################
    efak.topic.token=keadmin
    ######################################
    # kafka sasl authenticate
    ######################################
    cluster1.efak.sasl.enable=false
    cluster1.efak.sasl.protocol=SASL_PLAINTEXT
    cluster1.efak.sasl.mechanism=SCRAM-SHA-256
    cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramL
    oginModule required username="kafka" password="kafka-eagle";
    cluster1.efak.sasl.client.id=
    cluster1.efak.blacklist.topics=
    cluster1.efak.sasl.cgroup.enable=false
    cluster1.efak.sasl.cgroup.topics=
    cluster2.efak.sasl.enable=false
    cluster2.efak.sasl.protocol=SASL_PLAINTEXT
    cluster2.efak.sasl.mechanism=PLAIN
    cluster2.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainL
    oginModule required username="kafka" password="kafka-eagle";
    cluster2.efak.sasl.client.id=
    cluster2.efak.blacklist.topics=
    cluster2.efak.sasl.cgroup.enable=false
    cluster2.efak.sasl.cgroup.topics=
    ######################################
    # kafka ssl authenticate
    ######################################
    cluster3.efak.ssl.enable=false
    cluster3.efak.ssl.protocol=SSL
    cluster3.efak.ssl.truststore.location=
    cluster3.efak.ssl.truststore.password=
    cluster3.efak.ssl.keystore.location=
    cluster3.efak.ssl.keystore.password=
    cluster3.efak.ssl.key.password=
    cluster3.efak.ssl.endpoint.identification.algorithm=https
    cluster3.efak.blacklist.topics=
    cluster3.efak.ssl.cgroup.enable=false
    cluster3.efak.ssl.cgroup.topics=
    ######################################
    # kafka sqlite jdbc driver addres
    
    
    ######################################
    # 配置 mysql 连接
    efak.driver=com.mysql.jdbc.Driver
    efak.url=jdbc:mysql://hadoop102:3306/ke?useUnicode=true&characterEncoding=UT
    F-8&zeroDateTimeBehavior=convertToNull
    efak.username=root
    efak.password=000000
    ######################################
    # kafka mysql jdbc driver address
    ######################################
    #efak.driver=com.mysql.cj.jdbc.Driver
    #efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=U
    TF-8&zeroDateTimeBehavior=convertToNull
    #efak.username=root
    #efak.password=123456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115

    G、添加环境变量

    [fancyry@hadoop102 conf]$ sudo vim /etc/profile.d/my_env.sh
    # kafkaEFAK
    export KE_HOME=/opt/module/efak
    export PATH=$PATH:$KE_HOME/bin
    
    • 1
    • 2
    • 3
    • 4

    注意:source /etc/profile

    [fancyry@hadoop102 conf]$ source /etc/profile
    
    • 1

    F、启动

    注意:启动之前需要先启动 ZK 以及 KAFKA。

    [fancyry@hadoop102 kafka]$ kf.sh start
    
    • 1

    启动 efak

    [fancyry@hadoop102 efak]$ bin/ke.sh start
    Version 2.0.8 -- Copyright 2016-2021
    *****************************************************************
    * EFAK Service has started success.
    * Welcome, Now you can visit 'http://192.168.10.102:8048'
    * Account:admin ,Password:123456
    *****************************************************************
    * <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
    * <Usage> https://www.kafka-eagle.org/ </Usage>
    *****************************************************************
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    说明:如果停止 efak,执行命令。

    [fancyry@hadoop102 efak]$ bin/ke.sh stop
    
    • 1

    三、Kafka-Eagle 页面操作

    登录页面查看监控数据

    http://192.168.10.102:8048/
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    页面中间显示提示信息,当滚动时消失
    CSP-J2023入门组第二轮T4:旅游巴士
    批量更改文件名 - 大师汇总
    【OpenGL】六、深度测试和模板测试
    【c++刷题Day2】专题1背包T4
    驱动开发 基于gpio子系统来实现对stm32开发板的led亮灭实现,附加定时器实现一秒亮灭(软件:vscode)
    前端本地开发中,代理配置是如何解决跨域的?
    浅谈etcd服务注册与发现
    Docker TimeScaleDB
    c# 一些警告的处理方法
  • 原文地址:https://blog.csdn.net/m0_51111980/article/details/126462701