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
相关推荐
草莓熊Lotso5 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
pnoker21 小时前
IoT DC3 消息总线:六适配器可插拔设计
物联网·架构·kafka·消息队列·rabbitmq
cxhello1 天前
消费者活着、心跳正常、日志干净,但它七天没拉过一条消息
python·kafka
郝学胜-神的一滴1 天前
C++11 工程级应用 06:自己造一个类似Python的Range迭代器
开发语言·c++·windows·python·程序人生·microsoft
LabVIEW开发1 天前
使用 LabVIEW 获取文件的创建日期:从内置函数到 Windows API 封装
网络·windows·labview·labview知识·labview功能·labview程序
Lost of 程序猿1 天前
ASP.NET Core Saga 分布式事务深度实战:备件采购跨服务长流程,如何保证“要么全成,要么全回“
分布式·后端·asp.net
XiYang-DING1 天前
地图城市缓存优化:ApplicationReadyEvent + Caffeine + Redis + Redisson 分布式锁
redis·分布式·缓存
2601_962175661 天前
RabbitMQ 的工作模式
分布式·rabbitmq
头茬韭菜1 天前
图解 Fluss(四):分布式协调 —— 选举、副本状态机与
分布式·fluss
超级码里奥20241 天前
OpenClaw(龙虾[特殊字符])AI 智能体安装教程
windows·node.js