学习笔记
- 七、Kafka-Eagle 监控
- 7.1 环境准备
- 7.2 Eagle 安装
- 7.3、修改配置文件
- 7.4、添加环境变量
- 7.5、启动Eagle
- 八、Kafka-Kraft 模式
- 8.1、Kafka-Kraft 集群部署
- 8.2、初始化集群数据目录
- 8.3、启动 kafka 集群
- 8.4、测试
- 8.5、集群启动脚本
- 九、SpringBoot集成Kafka
七、Kafka-Eagle 监控
7.1 环境准备
Kafka-Eagle 的安装依赖于 MySQL,MySQL 主要用来存储可视化展示的数据。一台机器安装即可
【Linux】安装mysql
修改集群每个 /opt/module/kafka/bin/kafka-server-start.sh 命令中
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"
7.2 Eagle 安装
官网
一台机器安装即可
下载后上传到服务器
解压
tar -zxvf kafka-eagle-bin-3.0.1.tar.gz
解压后还会有个tar包 这个是本体
tar -zxvf efak-web-3.0.1-bin.tar.gz -C /usr/soft/
7.3、修改配置文件
efak/conf/system-config.properties
# efak要监控的集群名称 多个逗号分割 cluster1,cluster2
efak.zk.cluster.alias=cluster1
# 集群的地址
cluster1.zk.list=master:2181,slave1:2181,slave2:2181/kafka
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
# offset存储的位置
cluster1.efak.offset.storage=kafka
#cluster2.efak.offset.storage=zk
# 数据源
efak.driver=com.mysql.jdbc.Driver
efak.url=jdbc:mysql://master:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=root
7.4、添加环境变量
# kafkaEFAK
export KE_HOME=/usr/soft/efak
export PATH=$PATH:$KE_HOME/bin
# 刷新profile
source /etc/profile
7.5、启动Eagle
启动之前需要先启动 ZK 以及 KAFKA
在efak目录下执行
bin/ke.sh start
输入地址和用户名密码即可访问
八、Kafka-Kraft 模式
8.1、Kafka-Kraft 集群部署
master | slave1 | slave2 | |
---|---|---|---|
process.roles | broker,controller | broker,controller | broker,controller |
node.id | 1 | 2 | 3 |
再次解压一份 kafka 安装包
tar -zxvf kafka_2.12-3.0.0.tgz
重命名为 kafka2
在解压后的文件里新建data文件夹 赋权777
修改kafka2/config/kraft/server.properties
配置文件
# 角色 controller 相当于主机、broker 节点相当于从机
process.roles=broker,controller
# 结点 全局唯一
node.id=1
# 全 Controller 列表 node.id+hostname:端口
controller.quorum.voters=1@master:9093,2@slave1:9093,3@slave2:9093
# broker 对外暴露的地址
advertised.Listeners=PLAINTEXT://master:9092
#kafka 数据存储目录
log.dirs=/usr/soft/kafka2/data
8.2、初始化集群数据目录
首先生成存储目录唯一 ID。
# 在master主机kafka2目录下 将生成的UUID保存起来
bin/kafka-storage.sh random-uuid
用该 ID 格式化 kafka 存储目录(三台节点执行)。
bin/kafka-storage.sh format -t F4JKG64QSuSSQ3lcMj38RQ -c /usr/soft/kafka2/config/kraft/server.properties
8.3、启动 kafka 集群
bin/kafka-server-start.sh -daemon config/kraft/server.properties
jps查看
8.4、测试
创建主题
bin/kafka-topics.sh --bootstrap-server master:9092 --create --topic first --partitions 3 --replication-factor 3
# 查看
bin/kafka-topics.sh --bootstrap-server master:9092 --list
创建生产者
bin/kafka-console-producer.sh --bootstrap-server master:9092 --topic first
创建消费者
bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic first
8.5、集群启动脚本
#! /bin/bash
case $1 in
"start"){
for i in master slave1 slave2
do
echo " --------启动 $i Kafka2-------"
ssh $i "/usr/soft/kafka2/bin/kafka-server-start.sh -daemon /usr/soft/kafka2/config/kraft/server.properties"
done
};;
"stop"){
for i in master slave1 slave2
do
echo " --------停止 $i Kafka2-------"
ssh $i "/usr/soft/kafka2/bin/kafka-server-stop.sh "
done
};;
esac
九、SpringBoot集成Kafka
SpringBoot整合Kafka集群