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

至此 部署完成。

相关推荐
qingcyb5 小时前
下载Kafka 3.0.0教程
分布式·kafka
huisheng_qaq10 小时前
【kafka-03】springboot整合kafka以及核心参数详解
spring boot·kafka·消息队列·topic·partition·kafka底层原理
晚枫200010 小时前
kafka发送事件的几种方式
spring boot·分布式·docker·容器·kafka·intellij-idea·linq
小王是个弟弟11 小时前
ClickHouse-Kafka Engine 正确的使用方式
clickhouse·kafka
happycao12311 小时前
kafka 一步步探究消费者组与分区分配策略
中间件·kafka
qianer0_011 小时前
php实现kafka
kafka·php·linq
happycao12311 小时前
kafka消息发送几种方式
分布式·kafka
天地风雷水火山泽11 小时前
二百六十四、Java——Java采集Kafka主题A的JSON数据,解析成一条条数据,然后写入Kafka主题B中
java·开发语言·kafka
xuchengxi-java11 小时前
本地不能訪問linux的kafka服務
分布式·kafka
Fan11 小时前
Kafka 下载安装及使用总结
分布式·kafka