安装使用Kraft引擎的kafka集群
环境:centos7.6
一、安装java
yum install -y java
二、安装kafka
集群分布
服务器ip | node.id | 端口 |
---|---|---|
172.21.61.10 | 1 | 9092/9093 |
172.21.61.11 | 2 | 9092/9093 |
172.21.61.12 | 3 | 9092/9093 |
准备工作
下载安装包
cd /root/soft
wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz
tar xzvf kafka_2.13-3.4.0.tgz -C /usr/local
创建数据目录
mkdir -p /data/kafka
# 所有服务器均需操作
修改配置文件
vim /usr/local/kafka_2.13-3.4.0/config/kraft/server.properties
点击查看代码
node.id=1
controller.quorum.voters=1@172.21.61.10:9093,2@172.21.61.11:9093,3@172.21.61.12:9093
advertised.listeners=PLAINTEXT://172.21.61.10:9092
log.dirs=/data/kafka
拷贝修改完成的文件到其余两台服务器,可以自己手动提前进行免密登陆配置
scp -r /usr/local/kafka_2.13-3.4.0 172.21.61.11:/usr/local/
scp -r /usr/local/kafka_2.13-3.4.0 172.21.61.12:/usr/local/
登陆其余两台服务器,对配置文件进行修改
172.21.61.11上的/usr/local/kafka_2.13-3.4.0/config/kraft/server.properties需修改的内容:
点击查看代码
node.id=2
advertised.listeners=PLAINTEXT://172.21.61.11:9092
172.21.61.12 /usr/local/kafka_2.13-3.4.0/config/kraft/server.properties需修改的内容:
点击查看代码
node.id=3
advertised.listeners=PLAINTEXT://172.21.61.12:9092
初始化
生成uuid,随便选一台服务器就行
cd /usr/local/kafka_2.13-3.4.0/bin
./kafka-storage.sh random-uuid
返回结果如下:
WBAYnElGSJGZrxuKonv-tA
格式化存储路径,每台服务器均需执行
/usr/local/kafka_2.13-3.4.0/bin/kafka-storage.sh format -t WBAYnElGSJGZrxuKonv-tA -c /usr/local/kafka_2.13-3.4.0/config/kraft/server.properties
启动服务
每台服务器都需要执行
/usr/local/kafka_2.13-3.4.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.13-3.4.0/config/kraft/server.properties
集群启停脚本
vim /usr/local/kafka_2.13-3.4.0/bin/kafka_mgr.sh
点击查看代码
#!/bin/bash
#kafka集群启动脚本,需要提前配置免密
case $1 in
"start"){
for i in 172.21.61.10 172.21.61.11 172.21.61.12
do
echo "--------启动 $i kafka with kraft-------"
ssh $i "/usr/local/kafka_2.13-3.4.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.13-3.4.0/config/kraft/server.properties"
done
};;
"stop"){
for i in 172.21.61.10 172.21.61.11 172.21.61.12
do
echo "------停止 $i kafka--------"
ssh $i "/usr/local/kafka_2.13-3.4.0/bin/kafka-server-stop.sh"
done
};;
esac
chmod u+x kafka_mgr.sh
测试
创建topic
./kafka-topics.sh --create --topic test --partitions 1 --replication-factor 3 --bootstrap-server 172.21.61.10:9092,172.21.61.11:9092,172.21.61.12:9092
删除topic
./kafka-topics.sh --delete --topic test --bootstrap-server 172.21.61.10:9092,172.21.61.11:9092,172.21.61.12:9092
查看topic
./kafka-topics.sh --list --bootstrap-server 172.21.61.10:9092,172.21.61.11:9092,172.21.61.12:9092
生产消息
选择一台服务器进行消息的创建
/usr/local/kafka_2.13-3.4.0/bin/kafka-console-producer.sh --broker-list 172.21.61.10:9092,172.21.61.11:9092,172.21.61.12:9092 --topic test
执行成功后会出现一个 > 符号,可以输入消息,输入消息回车后会在消费消息会话中看到内容
消费消息
另选一台服务器或者在打开一个会话进行消息的接收
/usr/local/kafka_2.13-3.4.0/bin/kafka-console-consumer.sh --bootstrap-server 172.21.61.10:9092,172.21.61.11:9092,172.21.61.12:9092 --topic test
执行成功后不会出现 > 符号,可以看到在生产消息会话中创建的信息
查看生产与消费情况
查看消费组
./kafka-consumer-groups.sh --bootstrap-server 172.21.61.10:9092,172.21.61.11:9092,172.21.61.12:9092 --list
fireproofing-innerweb
查看消费情况
./kafka-consumer-groups.sh --bootstrap-server 172.21.61.10:9092,172.21.61.11:9092,172.21.61.12:9092 --describe --group fireproofing-innerweb