kafka4.0在windows系统下单击模式部署启动
完全没有用zookeeper而是采用kafka原生的KRaft部署(4.0版本摆脱了zookeeper的依赖)。全程window,没有用docker(几个加速镜像全失效了,最近就没怎么用),不保证100%成功,本人也是摸石头过河,如果有错欢迎指正:
kafka4.0---启动。修改配置:
4.0完全丢弃了zookeeper的依赖(不过是用zookeeper也能用,现在zookeeper相关的配置文件与KRaft模式的配置文件好像是共用的,本人菜鸟没试过),本文是在完全的window系统中安装的,如果有linux环境或者主机上有docker也可以用,官网上有完整的教程,但是没有windows的--搞了好久才搞好。哭:
官网网址:
下载: https://kafka.apache.org/downloads 文档: https://kafka.apache.org/documentation/#quickstart
最好下载二进制版本-能够快速上手:

保证config\server.properties中:
process.roles=controller,broker node.id=1 listeners=PLAINTEXT://:9092,CONTROLLER://:9093 controller.listener.names=CONTROLLER listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT controller.quorum.voters=1@localhost:9093 log.dirs=D:\\kafka_4.0\\kafka_2.13-4.0.0\\logs num.partitions=1
保证这个路径存在,不存在自己创建:
log.dirs=D:\\kafka_4.0\\kafka_2.13-4.0.0\\logs
Kafka 4.0 安装配置全流程总结(Windows 环境)
1. 初始准备
-
下载二进制包 确认下载的是官方二进制包(如
kafka_2.13-4.0.0.tgz),而非源码包。 -
安装 JDK 17 卸载 JDK 20,安装 JDK 17 并配置环境变量:
cmd
复制
set JAVA_HOME=D:\JDKS\JDK17 set PATH=%JAVA_HOME%\bin;%PATH%
2. 解压与目录结构
-
解压到
D:\kafka_4.0\kafka_2.13-4.0.0,确保路径无空格或中文。 -
关键目录:
-
bin\windows:脚本文件 -
config:配置文件 -
logs(需手动创建):数据存储目录
-
3. 必要配置修改
(1) 修改 config/server.properties!!最好把文件中的中文注解删除,可能会有编码错误
properties
复制
# KRaft 模式核心配置 process.roles=controller,broker node.id=1 listeners=PLAINTEXT://:9092,CONTROLLER://:9093 controller.listener.names=CONTROLLER listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT controller.quorum.voters=1@localhost:9093 log.dirs=D:\\kafka_4.0\\kafka_2.13-4.0.0\\logs # 使用双反斜杠或正斜杠 num.partitions=1
(2) 配置 Log4j 2.x
-
复制模板并重命名:(这一步不需要,亲测两个yaml都可以)
cmd
复制
copy config\tool-log4j2.yaml config\log4j2.yaml
-
删除旧版 Log4j 1.x 配置(如果config目录下由
log4j.properties这种文件就删除,没有则不用管)。
4. 初始化存储目录
cmd命令行中
先进入你的bin\window目录,然后启动命令行:


cd D:\kafka_4.0\kafka_2.13-4.0.0\bin\windows kafka-storage.bat random-uuid # 生成集群ID(如 ABC123...) kafka-storage.bat format -t ABC123... -c ..\..\config\server.properties
-
验证:检查
D:\kafka_4.0\kafka_2.13-4.0.0\logs是否生成meta.properties和__cluster_metadata-0。 -
这一步很可能报错:但没影响-这是long4j日志报的错:warning。。。什么的,只要检查你的logs目录下有没有生成新的东西就行
5. 启动 Kafka
cmd
第二个参数:“server.properties的路径务必注意,..\表示上一级。请根据你的目录具体更改”
kafka-server-start.bat ..\..\config\server.properties
-
成功标志:日志输出
[KafkaRaftServer] started且无致命错误。: -
这种错误完全正常:

-
正确结果:日志输出没有ERROR且打印了好几行,最后一行:
-

检查你的logs目录下有没有这个文件:

有了就成功了
6. 测试功能
新开一个cmd,还是进入windows目录
# 创建 Topic kafka-topics.bat --create --bootstrap-server localhost:9092 --topic test # 生产消息 kafka-console-producer.bat --bootstrap-server localhost:9092 --topic test # 消费消息 kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
7. 关机与重启
-
关机:按
Ctrl+C停止 Kafka。 -
重启:直接运行
kafka-server-start.bat,无需再次初始化。 -
持久化:确保不删除
logs目录下的文件。
关键注意事项
-
路径一致性:所有配置中的路径使用绝对路径,避免混用
/和\。 -
端口冲突:确保
9092(Broker)和9093(Controller)未被占用。 -
权限问题:赋予
logs目录完全控制权限。 -
日志警告:
-
Reconfiguration failed:Log4j 内部警告,可忽略。 -
DEPRECATED: Log4j 1.x:已迁移到 Log4j 2.x,无需处理。
-
常见问题速查
| 问题现象 | 解决方案 |
|---|---|
启动时报 meta.properties not found | 重新执行 kafka-storage.bat format |
| 端口冲突 | 修改 server.properties 中的 listeners 端口 |
| Java 版本错误 | 检查 java -version 是否为 JDK 17 |
| 日志目录未生成 | 检查 log.dirs 路径权限和拼写 |
按此流程操作后,Kafka 将保持持久化状态,重启后无需重复配置。
下一次重启:只需要输入:
kafka-server-start.bat ..\..\config\server.properties
更多推荐
所有评论(0)