3.2.2 安装Kafka-Eagle
1.安装JDK,并配置好JAVA_HOME。
2.将kafka_eagle上传,并解压到 /export/server 目录中。

cd /export/software/
tar -xvzf kafka-eagle-bin-1.4.6.tar.gz -C ../server/
cd /export/server/kafka-eagle-bin-1.4.6/ 
tar -xvzf kafka-eagle-web-1.4.6-bin.tar.gz
cd /export/server/kafka-eagle-bin-1.4.6/kafka-eagle-web-1.4.6

3.配置 kafka_eagle 环境变量。

vim /etc/profile
export KE_HOME=/export/server/kafka-eagle-bin-1.4.6/kafka-eagle-web-1.4.6
export PATH=$PATH:$KE_HOME/bin
source /etc/profile

Kafka可视化工具_Kafka-Eagle_Kafka

4.配置 kafka_eagle。使用vi打开conf目录下的system-config.properties

vim conf/system-config.properties
# 修改第4行,配置kafka集群别名
kafka.eagle.zk.cluster.alias=cluster1
# 修改第5行,配置ZK集群地址
cluster1.zk.list=node1:2181,node2:2181,node3:2181
# 注释第6行
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181

# 修改第32行,打开图标统计
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=30

# 注释第69行,取消sqlite数据库连接配置
#kafka.eagle.driver=org.sqlite.JDBC
#kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
#kafka.eagle.username=root
#kafka.eagle.password=www.kafka-eagle.org

# 修改第77行,开启mys
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://node3:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=123456

5.配置JAVA_HOME

cd /export/server/kafka-eagle-bin-1.4.6/kafka-eagle-web-1.4.6/bin
vim ke.sh
# 在第24行添加JAVA_HOME环境配置
export JAVA_HOME=/export/server/jdk1.8.0_241

6.修改Kafka eagle可执行权限

cd /export/server/kafka-eagle-bin-1.4.6/kafka-eagle-web-1.4.6/bin
chmod +x ke.sh

7.启动 kafka_eagle。

./ke.sh start

8.访问Kafka eagle,默认用户为admin,密码为:123456

http://node3:8048/ke

Kafka可视化工具_Kafka-Eagle_Kafka_02Kafka可视化工具_Kafka-Eagle_Kafka_03
3.3 Kafka度量指标
3.3.1 topic list
点击Topic下的List菜单,就可以展示当前Kafka集群中的所有topic。
Kafka可视化工具_Kafka-Eagle_Kafka_04
Kafka可视化工具_Kafka-Eagle_Kafka_05

指标	意义
Brokers Spread	broker使用率
Brokers Skew	分区是否倾斜
Brokers Leader Skew	leader partition是否存在倾斜

3.3.2 生产者消息总计
Kafka可视化工具_Kafka-Eagle_Kafka_06

  1. Kafka原理
    4.1 分区的leader与follower
    4.1.1 Leader和Follower
    在Kafka中,每个topic都可以配置多个分区以及多个副本。每个分区都有一个leader以及0个或者多个follower,在创建topic时,Kafka会将每个分区的leader均匀地分配在每个broker上。我们正常使用kafka是感觉不到leader、follower的存在的。但其实,所有的读写操作都是由leader处理,而所有的follower都复制leader的日志数据文件,如果leader出现故障时,follower就会被选举为leader。所以,可以这样说:

Kafka中的leader负责处理读写操作,而follower只负责副本数据的同步
如果leader出现故障,其他follower会被重新选举为leader
follower像一个consumer一样,拉取leader对应分区的数据,并保存到日志数据文件中

Kafka可视化工具_Kafka-Eagle_Kafka_07

4.1.2 查看某个partition的leader
使用Kafka-eagle查看某个topic的partition的leader在哪个服务器中。为了方便观察,我们创建一个名为test的3个分区、3个副本的topic。
Kafka可视化工具_Kafka-Eagle_Kafka_08

1.点击「Topic」菜单下的「List」

Kafka可视化工具_Kafka-Eagle_Kafka_09

2.任意点击选择一个Topic

Kafka可视化工具_Kafka-Eagle_Kafka_10
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=29yw4xtxi45cs