以下是使用三个节点部署Kafka集群的步骤指南(基于Kafka 3.9.0),在KRaft模式下运行,避免使用Zookeeper。
示例:在KRaft模式下部署Kafka集群(基于Kafka 3.9.0)
1. 下载Kafka
从Kafka的官方网站下载最新版本的Kafka(例如kafka_3.9.0)并在每个节点上解压安装。
2. 配置每个节点
在每个节点上配置Kafka,以启用KRaft模式:
- 修改配置文件
server.properties,以下是配置文件示例:
process.roles=broker,controller
node.id=1 # 对于第一个节点
controller.quorum.voters=1@node1:9093,2@node2:9093,3@node3:9093
listeners=PLAINTEXT://node1:9092,CONTROLLER://node1:9093
log.dirs=/var/lib/kafka-logs对于每个节点,node.id 应该分别为 1, 2 和 3,并且 listeners 的hostname应该分别为node1、node2和node3。
3. 初始化存储目录
在每个节点上执行以下命令,初始化KRaft元数据目录:
bin/ format -t <uuid> -c config/kraft/server.properties其中,<uuid> 可以使用 uuidgen 命令生成。例如:
uuidgen确保在所有节点上使用相同的UUID。
4. 启动Kafka
在每个节点上分别启动Kafka服务:
cd /usr/local/kafka
bin/ config/kraft/server.properties5. 创建Topic
可以在任意一个节点上使用Kafka提供的命令行工具创建一个Topic,例如名为test-topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server node1:9092 --partitions 1 --replication-factor 36. 生产和消费数据
测试生产者和消费者:
- 创建生产者:
bin/ --topic test-topic --bootstrap-server node1:9092然后输入一些消息,如“Hello Kafka”。
- 创建消费者:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server node1:9092你应该会看到生产者发送的消息显示在消费者的控制台中。
















