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

至此 部署完成。

相关推荐
小江的记录本7 小时前
【Kafka核心】Kafka 3.0+ KRaft模式(替代ZooKeeper)核心原理与优势
java·数据库·分布式·后端·zookeeper·kafka·rabbitmq
bing_1587 小时前
Zookeeper 在 Kafka 中扮演了什么角色?
分布式·zookeeper·kafka
醉颜凉7 小时前
Kafka为什么抛弃ZooKeeper?深度解析KRaft时代的技术变革
zookeeper·kafka·linq
会编程的土豆12 小时前
Kafka 操作流程(零基础完整流程)
分布式·kafka
岳麓丹枫00112 小时前
PostgreSQL 15.7 CDC → Flink → Kafka 操作笔记
postgresql·flink·kafka
会编程的土豆13 小时前
Kafka 零基础入门(最基本用法)
分布式·kafka
会编程的土豆13 小时前
Kafka 入门笔记(核心语法 + 用法)
笔记·分布式·kafka
CAE虚拟与现实1 天前
重置系统后,Postgresql不用重装
数据库·redis·postgresql·kafka
努力发光的程序员1 天前
互联网大厂Java面试故事:Spring Boot与微服务全栈技术实战问答
java·spring boot·spring cloud·微服务·kafka·hibernate·面试技巧
jameslogo1 天前
RocketMQ与Kafka零拷贝机制
分布式·kafka·rocketmq