1.准备3台机器集群部署:
HOSTNAME
|
IP
|
OS
|
node1
|
192.168.0.113
|
centos7.9
|
node2
|
192.168.0.114
|
centos7.9
|
node3
|
192.168.0.115
|
centos7.9
|
2.上传kafka3服务器并解压
cd /usr/local/soft
tar -zxvf kafka3.tar.gz
3.配置server.properties
cd config/kraft/
vi server.properties
# 节点角色
process.roles=broker,controller
#节点ID,和节点所承担的角色想关联
node.id=1
# 集群地址
controller.quorum.voters=1@192.168.0.113:9093,2@192.168.0.114:9093,3@192.168.0.115:9093
#本机节点
listeners=PLAINTEXT://192.168.0.113:9092,CONTROLLER://192.168.0.113:9093
# 这里我修改了日志文件的路径,默认是在/tmp目录下的
log.dirs=/usr/local/soft/kafka/logs/kraft
4.分发并配置
scp -r /usr/local/soft/kafka root@node2:/usr/local/soft/
scp -r /usr/local/soft/kafka root@node3:/usr/local/soft/
5.运行kafka集群
在node1用kafka-storage.sh生成一个唯一的集群ID: ./bin/kafka-storage.sh random-uuid 会生成一个uuid例如:04ofzeqFRgqBWQGtLEqmNQ
在其余的节点利用生成的uuid格式化存储数据目录: ./bin/kafka-storage.sh format -t 04ofzeqFRgqBWQGtLEqmNQ -c ./config/kraft/server.properties
在每个节点启动server:./bin/kafka-server-start.sh ./config/kraft/server.properties