安装使用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
posted @ 2023-03-07 10:53  村尚chun叔  阅读(293)  评论(0编辑  收藏  举报