本文使用的 kafka 版本为 3.9.0,用三台机器进行集群,安装 kafka 前,机器上的环境要求:
- jre 运行环境(kafka 由 scala 语言编写,所以需要依赖 jvm )
- 三台主机都要关闭防火墙
systemctl stop firewalld
一、安装 kafka(三台主机做相同的操作):
- 下载kafka:kafka 官方地址
- 上传 kafka 到目录,本文使用的目录为
/usr/local/kafka,上传后目录结构如下:

- 解压 kafka,
tar -zxvf kafka_2.13-3.9.0.tgz,解压后的目录结构如下:

- 为了方便使用,此处对解压后的文件进行重命名
mv kafka_2.13-3.9.0 kafka,重命名后的目录结构如下:

- 提前创建数据目录,
mkdir data,创建后目录结构如下:

- 修改 kafka 配置文件(注意这里跟基于 zookeeper 搭建集群时的文件路径不一样,这是 Kraft 路径下的配置文件),
vim /usr/local/kafka/kafka/config/kraft/server.properties,重点关注以下属性:# 每台主机中的 nodeId 必须唯一,本次实验三台主机 brokerId 分别是 1 2 3 node.id=1 # 配置集群中参与投票的节点。其中 @ 前⾯的是 nodeId,后⾯是 nodeId 对应的节点的地址和端⼝ controller.quorum.voters=1@192.168.2.28:9093,2@192.168.2.29:9093,3@192.168.2.30:9093 # 对外暴露的端口和地址,不要用 localhost 注册,分别用每台主机的 ip 注册 advertised.listeners=PLAINTEXT://192.168.2.28:9092,CONTROLLER://192.168.2.28:9093 # 设置刚刚创建的数据目录 log.dirs=/usr/local/kafka/data/ - 对日志目录格式化
- 在其中任意一台机器上运行
sh /usr/local/kafka/kafka/bin/kafka-storage.sh random-uuid - 记住生成的 uuid,本次生成的 uuid 为
1FbUrPfaQvqadcKp8z_Rvw - 分别在三台机器上运行(三台机器要用相同的 uuid)
sh /usr/local/kafka/kafka/bin/kafka-storage.sh format -t 1FbUrPfaQvqadcKp8z_Rvw -c /usr/local/kafka/kafka/config/kraft/server.properties
- 在其中任意一台机器上运行
- 至此 kafka 集群安装完成。
二、测试是否安装成功:
- 三台主机分别启动:
nohup sh /usr/local/kafka/kafka/bin/kafka-server-start.sh /usr/local/kafka/kafka/config/kraft/server.properties & - 在任意一台主机中创建一个主题(下面命令中的 IP 可以是三台主机中的任意一台)
sh /usr/local/kafka/kafka/bin/kafka-topics.sh --bootstrap-server 192.168.2.28:9092 --create --replication-factor 2 --partitions 4 --topic repeatKraft - 查看集群是否成功:
sh /usr/local/kafka/kafka/bin/kafka-topics.sh --bootstrap-server 192.168.2.28:9092 --describe --topic repeatKraft - 当出现下图中的结构(nodeId 设置的 1,2,3 都在 replicas 中出现),代表集群成功。

&spm=1001.2101.3001.5002&articleId=146918670&d=1&t=3&u=0d1ae3dd6290438094bb350b6509d9b4)
446

被折叠的 条评论
为什么被折叠?



