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
相关推荐
哈哈很哈哈2 分钟前
Spark 运行流程核心组件(三)任务执行
大数据·分布式·spark
我星期八休息1 小时前
大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
大数据·人工智能·python
最初的↘那颗心2 小时前
Flink Stream API - 源码开发需求描述
java·大数据·hadoop·flink·实时计算
白鲸开源2 小时前
收藏!史上最全 Apache SeaTunnel Source 连接器盘点 (2025版),一篇通晓数据集成生态
大数据·数据库·开源
爱疯生活2 小时前
车e估牵头正式启动乘用车金融价值评估师编制
大数据·人工智能·金融
Lx3523 小时前
MapReduce作业调试技巧:从本地测试到集群运行
大数据·hadoop
计算机程序员小杨3 小时前
计算机专业的你懂的:大数据毕设就选贵州茅台股票分析系统准没错|计算机毕业设计|数据可视化|数据分析
java·大数据
BYSJMG3 小时前
计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】
大数据·hadoop·python·信息可视化·spark·django·课程设计
励志成为糕手4 小时前
大数据MapReduce架构:分布式计算的经典范式
大数据·hadoop·mapreduce·分布式计算·批处理
计算机毕设残哥4 小时前
大数据毕业设计选题推荐:护肤品店铺运营数据可视化分析系统详解
大数据·信息可视化·课程设计