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

1.下载

复制代码
https://archive.apache.org/dist/kafka/3.9.0/kafka_2.12-3.9.0.tgz

2.配置使用 KRaft 模式

2.1 修改 Kafka 的配置文件

cd D:\data\bigdata\kafka_2.12-3.9.0\config\kraft

修改 server.properties

复制代码
# 设置 Kafka 数据日志存储目录
log.dirs=D:\\data\\bigdata\\kafka_2.12-3.9.0\\data

2.2 生成数据目录ID:

cd D:\data\bigdata\kafka_2.12-3.9.0\bin\windows

复制代码
.\kafka-storage random-uuid

报错

复制代码
D:\data\bigdata\kafka_2.12-3.9.0\bin\windows>.\kafka-storage random-uuid
输入行太长。
命令语法不正确。

解决办法

修改 kafka-run-class.bat

复制代码
注释93 ~ 95 行,这三行的作用是拼接 classpath
注释174 ~ 177 行,这四行的作用是判断 classpath 是否定义,如果未定义则退出。因为要直接指定目录了,所以不需要 classpath 了。
修改179行,将%CLASSPATH%替换成%BASE_DIR%\libs\*

再次执行

复制代码
D:\data\bigdata\kafka_2.12-3.9.0\bin\windows>.\kafka-storage random-uuid
cM-TcxmfSBSaic6aa8Wxvg

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

复制代码
.\kafka-storage.bat format --config ../../config/kraft/server.properties --cluster-id  cM-TcxmfSBSaic6aa8Wxvg

D:\data\bigdata\kafka_2.12-3.9.0\bin\windows>.\kafka-storage.bat format --config .../.../config/kraft/server.properties --cluster-id cM-TcxmfSBSaic6aa8Wxvg

Formatting metadata directory D:\data\bigdata\kafka_2.12-3.9.0\data with metadata.version 3.9-IV0.

3.启动

复制代码
.\kafka-server-start.bat ../../config/kraft/server.properties

4. 验证

复制代码
 .\kafka-topics --bootstrap-server localhost:9092 --list

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

5. 创建一个测试主题

复制代码
.\kafka-topics.bat --bootstrap-server localhost:9092 --create --topic test --partitions 1 --replication-factor 1

6. 生产和消费消息

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

生产消息:

复制代码
.\kafka-console-producer.bat --bootstrap-server localhost:9092 --topic test

消费消息:

复制代码
.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
相关推荐
菜鸟康1 小时前
C++实现分布式网络通信框架RPC(2)——rpc发布端
分布式·网络协议·rpc
斯普信专业组3 小时前
Kafka主题运维全指南:从基础配置到故障处理
运维·分布式·kafka
计算机毕设定制辅导-无忧学长3 小时前
Spring Boot 与 Kafka 的深度集成实践(一)
spring boot·kafka·linq
百度Geek说3 小时前
BaikalDB 架构演进实录:打造融合向量化与 MPP 的 HTAP 查询引擎
数据库·分布式·架构
q567315235 小时前
分布式增量爬虫实现方案
开发语言·分布式·爬虫·python
aningxiaoxixi5 小时前
Android Framework 之 AudioDeviceBroker
android·windows·ffmpeg
神奇小永哥8 小时前
lambda的惰性求值方法与及早求值方法
windows
C++ 老炮儿的技术栈12 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
小鸡脚来咯16 小时前
RabbitMQ入门
分布式·rabbitmq
qq_4639448617 小时前
【Spark征服之路-2.2-安装部署Spark(二)】
大数据·分布式·spark