Kafka-Eagle(可视化监控平台)安装教程

Kafka Eagle

1. Install Mysql

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

2.Kafka 环境准备

调整Kafka内存占用等参数,暴露JMX

JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,使用户能够在任何Java应用程序中使用这些代理和服务实现管理。对【外暴露数据】,方便某些插件来监控和管理。

修改kafka-server-start.sh脚本

具体路径:vim /opt/software/kafka_2.12-2.8.0/bin/kafka-server-start.sh

将一下内容

sh 复制代码
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
 export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

替换为

sh 复制代码
if [ "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

注:集群内每一个节点都修改。若集群已启动,需要重启。

3.Kafka-Eagle 安装

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

3.1.解压包

将安装包放入master01的/opt/download中,解压缩【在download目录下执行下面两个命令即可】

shell 复制代码
tar -zxvf kafka-eagle-bin-3.0.1.tar.gz
tar -zxvf kafka-eagle-bin-3.0.1/efak-web-3.0.1-bin.tar.gz -C /opt/software/
3.2.配置环境变量

vim /etc/profile.d/myenv.sh

shell 复制代码
# kafka EFAK_HOME
export KE_HOME=/opt/software/efak-web-3.0.1
export PATH=$PATH:$KE_HOME/bin
3.3.授权并激活
shell 复制代码
source /etc/profile
3.4.配置说明

注意:此处针对于master01单机进行安装,用于监控集群(master01,master02,worker01)

命令:vim /opt/software/efak-web-3.0.1/conf/system-config.properties

3.4.1.修改zookeeper相关
properties 复制代码
efak.zk.cluster.alias=cluster1
cluster1.zk.list=master01:2181,master02:2181,worker01:2181
3.4.2.修改zookeeper客户端线程限制可选
properties 复制代码
kafka.zk.limit.size=32
3.4.3.修改kafka offset 保存位置
properties 复制代码
# kafka` or `zk
cluster1.efak.offset.storage=kafka
3.4.4.配置 mysql 连接
properties 复制代码
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://master01:3308/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=用户
efak.password=远程密码
3.4.5.配置kafka的JMX的地址
properties 复制代码
cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://master01:9999/jmxrmi
3.5.完整配置文件如下
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=master01:2181,master02:2181,worker01:2181

######################################
# 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

######################################
# EFAK enable distributed
######################################
efak.distributed.enable=false
efak.cluster.mode.status=master
efak.worknode.master.host=master01
efak.worknode.port=8085

######################################
# 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.truststore
cluster1.efak.jmx.truststore.password=ke123456

######################################
# kafka offset storage
######################################
cluster1.efak.offset.storage=kafka

######################################
# kafka jmx uri
######################################
cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://master01:9999/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.ScramLoginModule 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.PlainLoginModule 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 address
######################################
#efak.driver=org.sqlite.JDBC
#efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
#efak.username=root
#efak.password=www.kafka-eagle.org

######################################
# kafka mysql jdbc driver address
######################################
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://master01:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=用户
efak.password=远程密码

4.启动

启动的前提条件是先启动Zookeeper、Kafka

shell 复制代码
ke.sh start
4.1: 访问

http://master01:8048/

登入见面

初始账号密码:

复制代码
username: admin
password: 123456

输入完密码后,即可进入控制页面了!

4.2: 停止
shell 复制代码
bin/ke.sh stop
相关推荐
Data-Miner42 分钟前
需要做财务数据分析,有什么好用的工具?从准备到出报告的实操指南
大数据·数据库·数据分析
阿里云大数据AI技术2 小时前
StarRocks × Paimon C++:加速湖上数据分析
大数据·人工智能
用户3610588626122 小时前
Flink 配置深度剖析:从配置加载到参数调优的完整指南
大数据·flink
ha_lydms3 小时前
Window Functions(窗口函数)
大数据·数据仓库·hadoop·spark·数据处理·dataworks·maxcompute
2601_952047793 小时前
委外入库单同步:旺店通到金蝶云星空的实战配置
大数据·钉钉·制造
阿里云大数据AI技术3 小时前
【云栖实录】一切数据,皆可计算:MaxCompute 升级为AI Native全模态计算服务
大数据·人工智能·agent
珠海西格电力3 小时前
物联网(IoT)在零碳园区中的关键作用:万物互联与数据采集
大数据·人工智能·物联网·安全·系统架构·能源
一条泥憨鱼4 小时前
【Redis | 黑马点评】分布式锁;Lua脚本;Redisson与看门狗 |源码万字详解
redis·分布式·lua
AI产品测评官4 小时前
2026企业AI招聘选型指南:四类技术路线与硬科技场景适配方案
大数据·人工智能·科技·求职招聘·ai-native
SelectDB技术团队4 小时前
Snowflake 的开源替代怎么选:能力对照、三条部署路径与迁移执行
大数据·数据库·云原生·开源·snowflake·apache doris