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