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 Serverless 提升业务弹性能力,节省成本超过 20%
kafka·serverless
程序消消乐14 小时前
Kafka 入门指南:从 0 到 1 构建你的 Kafka 知识基础入门体系
分布式·kafka
智能化咨询14 小时前
Kafka架构:构建高吞吐量分布式消息系统的艺术——进阶优化与行业实践
分布式·架构·kafka
Chasing__Dreams14 小时前
kafka--基础知识点--5.2--最多一次、至少一次、精确一次
分布式·kafka
RestCloud1 天前
Kafka实时数据管道:ETL在流式处理中的应用
数据库·kafka·api
AAA修煤气灶刘哥1 天前
Kafka 入门不踩坑!从概念到搭环境,后端 er 看完就能用
大数据·后端·kafka
若鱼19191 天前
spring-kafka消费异常处理
spring·kafka
若鱼19191 天前
Kafka如何配置生产者拦截器和消费者拦截器
java·kafka
Chasing__Dreams1 天前
kafka--基础知识点--5.3--producer事务
分布式·kafka