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
相关推荐
写代码的【黑咖啡】21 分钟前
如何在大数据数仓中搭建数据集市
大数据·分布式·spark
华清远见成都中心44 分钟前
成都理工大学&华清远见成都中心实训,助力电商人才培养
大数据·人工智能·嵌入式
梦里不知身是客112 小时前
flume防止数据丢失的方法
大数据·flume
SoleMotive.2 小时前
kafka选型
分布式·kafka
鹏说大数据3 小时前
数据治理项目实战系列6-数据治理架构设计实战,流程 + 工具双架构拆解
大数据·数据库·架构
小二·4 小时前
MyBatis基础入门《十五》分布式事务实战:Seata + MyBatis 实现跨服务数据一致性
分布式·wpf·mybatis
AI逐月5 小时前
Git 彻底清除历史记录
大数据·git·elasticsearch
天远API6 小时前
Java后端进阶:处理多数据源聚合API —— 以天远小微企业报告为例
大数据·api
feathered-feathered6 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
lang201509286 小时前
深入解析Kafka Broker核心读写机制
分布式·kafka