完全没有用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
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |