当前位置: 首页 > news >正文

Windows安装Kafka(kafka_2.12-3.9.1),配置Kafka,以及遇到的困难解决方案

Windows安装Kafka(kafka_2.12-3.9.1),配置Kafka,以及遇到的困难解决方案

目录

下载 Kafka

依赖项

安装

配置日志目录

修改配置文件

初始化存储目录

小插曲

启动 Kafka

验证 Kafka 是否正常工作


下载 Kafka

访问 Apache Kafka 官网,选择 Binary Downloads,下载 kafka_2.13-4.0.0.tgz(支持 Windows/Linux)。

依赖项

Kafka 4.0 基于 JDK 17 编译,需提前安装并配置 JAVA_HOME 环境变量。

安装

将压缩包解压至短路径目录(如:E:\Kafka)

配置日志目录

创建 Kafka 日志目录(如 E:\Kafka\data\kafka\kafka-logs)。

修改配置文件

打开 config\server.properties,修改以下关键参数:

# 日志路径(使用双反斜杠)
log.dirs=E:\\Kafka\\data\\kafka\\kafka-logs

初始化存储目录

生成集群 ID:

// 进入目录:E:\Kafka\kafka\bin\windows下
// 输入命令
kafka-storage.bat random-uuid

输出示例如下:

上述日志中有个错误提示可以忽略。记录此ID:JnhYFIOcRXipOJdyvUlVcA
打开 config\server.properties,增加以下关键参数:

# 集群唯一标识(之前生成的 UUID)
cluster.id=JnhYFIOcRXipOJdyvUlVcA
# 控制器选举配置(单机模式示例)
controller.quorum.voters=1@localhost:9093

Kafka 4.0 默认使用 KRaft 模式(Kafka Raft Metadata),取代了旧版的 ZooKeeper。在 KRaft 模式下,controller.quorum.voters 是必需配置,用于指定集群的控制器节点。

格式化日志目录:

// 进入目录:E:\Kafka\kafka\bin\windows下
kafka-storage.bat format -t JnhYFIOcRXipOJdyvUlVcA -c ..\..\config\kraft\server.properties

表明 Kafka 存储格式化成功

小插曲

这个错误表明您正在尝试使用 KRaft 模式格式化存储,但配置文件是针对 旧版的 Zookeeper 模式的。Kafka 从 3.0 版本开始引入了 KRaft 模式(不再需要 Zookeeper)。

所以应该使用kraft版本的配置文件

# 使用 kraft 版本的配置文件
kafka-storage.bat format -t JnhYFIOcRXipOJdyvUlVcA -c ..\..\config\kraft\server.properties

启动 Kafka

bin\windows 目录下执行:

kafka-server-start.bat ..\..\config\kraft\server.properties

成功标志:日志输出如下内容且无致命错误:

验证 Kafka 是否正常工作

新开两个cmd窗口

#创建一个名为 test-topic 的主题:
E:\Kafka\kafka\bin\windows>kafka-topics.bat --create --topic test-topic --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092

#验证刚刚创建的主题是否正确添加:
E:\Kafka\kafka\bin\windows>kafka-topics.bat --list --bootstrap-server localhost:9092
test-topic

#发送和接收消息
E:\Kafka\kafka\bin\windows>kafka-console-producer.bat --bootstrap-server localhost:9092 --topic test-topic
>Hello Kafka
>this is a test message
>i am codesandwich

#在另一个cmd窗口
E:\Kafka\kafka\bin\windows>kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-topic --from-beginning
Hello Kafka
this is a test message
i am codesandwich

圆满成功!!!

如果我的内容对你有帮助,请辛苦动动您的手指为我点赞,评论,收藏。感谢大家!!

http://www.hskmm.com/?act=detail&tid=11808

相关文章:

  • 准备工作之动态内存分配[基于郝斌课程]
  • 2025.6第一套六级听力生词
  • CSP-S 2025游记
  • atof() - 字符串转double类型
  • 完整教程:还在为第三方包 bug 头疼?patch-package 让你轻松打补丁!
  • Kubernetes(k8s)高可用性集群的构建
  • 在CentOS环境下升级GCC编译器
  • 详细介绍:深圳比斯特|电池组PACK自动化生产线厂家概述
  • Chapter 4 Shapes and Texts
  • 手动清除Ubuntu系统中的内存缓存
  • 消除 Vue SPA 刷新导致 404 的问题
  • Docker / Kubernetes 图形化管理工具--------Portainer
  • 【Excel】创建下拉选项框
  • 不定高元素动画实现方案(中)
  • 技术文章
  • 插值相关
  • 密码学学习记录(三)
  • 详解scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
  • [题解]P11095 [ROI 2021] 旅行 (Day 2)
  • DDR5内存时序参数对照表
  • Linux CentOS 第三方扩展模块编译并安装
  • Java ArrayList中的常见删除操作及方法
  • ADC和GPIO的关系
  • 使用Docker Compose工具进行容器编排的教程
  • 模拟输入的过程
  • 基于Redisson和自定义注解的分布式锁实现策略
  • CCPC2025网络赛 游记
  • 知行合一
  • Manim实现水波纹特效
  • 深入解析:解锁AI智能体:上下文工程如何成为架构落地的“魔法钥匙”