Kafka3.x 使用 KRaft 模式部署 不依赖 ZooKeeper

前言

Kafka 从 2.8.0 版本开始引入了 Kafka Raft Metadata Mode(KRaft 模式),这个模式允许 Kafka 在不依赖 ZooKeeper 的情况下进行元数据管理。KRaft 模式在 Kafka 3.0.0 中进入了稳定版本,本文部署的 Kafka_2.12-3.6.0 单机模式

环境

CentOS 7.9

Java JDK 17

1.下载和解压 Kafka

bash 复制代码
wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz
tar -xzf kafka_2.12-3.6.0.tgz
cd kafka_2.12-3.6.0/

2. 配置 Kafka 使用 KRaft 模式

2.1 修改 Kafka 的配置文件 config/kraft/server.properties

bash 复制代码
vim config/kraft/server.properties
bash 复制代码
# 设置 Kafka 数据日志存储目录
log.dirs=/data/kafka/kafka-logs

2.2 生成数据目录ID:

bash 复制代码
bin/kafka-storage.sh random-uuid

命令格式化数据目录,--cluster-id (上一步的数据目录ID)

bash 复制代码
 bin/kafka-storage.sh format --config config/kraft/server.properties --cluster-id maE6YugNQHWt9u0xK1XA2A

3. 启动 和 停止 Kafka

3.1启动

Kafka 3.0.0 及之后的版本 ,可以使用以下命令来启动 Kafka:

bash 复制代码
bin/kafka-server-start.sh  -daemon config/kraft/server.properties

3.2停止

bash 复制代码
bin/kafka-server-stop.sh  -daemon config/kraft/server.properties

4. 验证 Kafka 是否正常运行

bash 复制代码
bin/kafka-topics.sh --bootstrap-server localhost:9092 --list

如果配置和启动正确,能看到一个空的主题列表(因为没有创建任何主题)。

5. 创建一个测试主题

bash 复制代码
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test --partitions 1 --replication-factor 1

6. 生产和消费消息

测试生产和消费消息来验证 Kafka 是否工作正常:

生产消息:

bash 复制代码
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test

在命令行中输入消息并按回车。

消费消息:

新的终端执行

bash 复制代码
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

至此 部署完成。

相关推荐
齐木卡卡西在敲代码4 小时前
kafka的pull的依据
分布式·kafka
超级迅猛龙4 小时前
保姆级Debezium抽取SQL Server同步kafka
数据库·hadoop·mysql·sqlserver·kafka·linq·cdc
ejinxian9 小时前
MySQL/Kafka数据集成同步,增量同步及全量同步
数据库·mysql·kafka
武子康11 小时前
大数据-74 Kafka 核心机制揭秘:副本同步、控制器选举与可靠性保障
大数据·后端·kafka
程序员不迷路11 小时前
Kafka学习
分布式·kafka
bing_15813 小时前
kafka 生产者是如何发送消息的?
分布式·kafka
纪莫1 天前
Kafka如何保证「消息不丢失」,「顺序传输」,「不重复消费」,以及为什么会发送重平衡(reblanace)
kafka
BD_Marathon1 天前
Kafka文件存储机制
分布式·kafka
Aspirin_Slash2 天前
docker-compose部署kafka with kraft 配置内网公网同时访问
kafka
君不见,青丝成雪2 天前
大数据技术栈 —— Redis与Kafka
数据库·redis·kafka