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

windows-安装kafka并启动

1. 下载kafka

https://downloads.apache.org/kafka/

下载版本

kafka_2.13-3.7.2.tgz

解压到一个目录,比如:

D:\kafka_2.13-3.7.2

目录结构大概是:

D:\kafka_2.13-3.7.2├── bin│   ├── windows│   │   ├── kafka-server-start.bat│   │   ├── kafka-topics.bat│   │   ├── kafka-console-producer.bat│   │   └── kafka-console-consumer.bat├── config│   ├── server.properties│   └── kraft│       └── server.properties└── libs

2. 修改配置

Kafka 3.7 默认用 KRaft 模式(不需要 Zookeeper)。

编辑:

D:\kafka_2.13-3.7.2\config\kraft\server.properties

找到并修改这些地方(端口默认 9092 就好):

# Kafka 数据存储目录
log.dirs=D:/kafka_2.13-3.7.2/data# 监听地址(本地测试用 localhost:9092)
listeners=PLAINTEXT://localhost:9092# broker 唯一 ID(随便填一个)
node.id=1# 集群唯一 ID,先留空,启动前会生成
process.roles=broker,controller
controller.quorum.voters=1@localhost:9093

3. 生成集群 ID

Kafka KRaft 需要一个集群 ID。执行命令(在 bin\windows 目录下):

.\kafka-storage.bat random-uuid

会输出一个类似这样的 UUID:

e5p2Xw8fQwG3aGkG7sK3Rw

4. 格式化存储目录

执行:

.\kafka-storage.bat format -t e5p2Xw8fQwG3aGkG7sK3Rw -c ..\..\config\kraft\server.properties

(把 e5p2Xw8fQwG3aGkG7sK3Rw 替换成你生成的 UUID)

D:\kafka_2.13-3.7.2\bin\windows>.\kafka-storage.bat random-uuid
Y77qMv-LTDam5BnecsCQ1wD:\kafka_2.13-3.7.2\bin\windows>.\kafka-storage.bat format -t Y77qMv-LTDam5BnecsCQ1w -c ..\..\config\kraft\server.properties
Formatting D:/kafka_2.13-3.7.2/data with metadata.version 3.7-IV4.

5. 启动 Kafka

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

看到类似:

[KafkaServer id=1] started

说明启动成功 🎉

6. 创建 Topic

另开一个终端,进入 bin\windows 目录,执行:

.\kafka-topics.bat --create --topic test-topic --bootstrap-server localhost:9092

输出

Created topic test-topic.

7. 启动生产者

.\kafka-console-producer.bat --broker-list localhost:9092 --topic test-topic

输入消息:

hello kafka

8. 启动消费者

另开一个终端:

.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-topic --from-beginning

能看到你刚才发的 hello kafka 就说明 Kafka 本地 OK 了 ✅

⚡️ 至此,你的 Spring Boot 项目配置的

spring:kafka:bootstrap-servers: localhost:9092

http://www.dtcms.com/a/395711.html

相关文章:

  • linux 驱动私有数据
  • 信息系统监理师软考备考指南:组织协调与沟通管理专题精讲
  • 【开题答辩全过程】以 JAVA农产品销售系统为例,包含答辩的问题和答案
  • Python 网络爬虫生态全景综述
  • MCP— Model Context Protocol(模型上下文协议)
  • 解决ubuntu无法连接上security.ubuntu.com:80 (185.125.190.81)的问题
  • SHAP分析 | MATLAB实现XGBoost极限梯度提升树多输入单输出回归预测+SHAP可解释分析分析(预测新数据,多指标评价)
  • 磁共振成像原理(理论)11:梯度回波 (Gradient Echoes)
  • odoo18全局菜单搜索
  • langchain链中的高级组件
  • 鸿蒙:使用animation或animateTo实现图片无限旋转效果
  • 02)阿里 Arthas(阿尔萨斯)开源的 Java 诊断工具原理分析、JVM动态加载“代理程序“(Agent) 的机制、vm.loadAgent原理
  • [学习笔记][机器学习-周志华] 第1章 绪论
  • Node.js面试题及详细答案120题(111-120) -- 进阶与扩展篇
  • 鞋底布线前传:CAD三维建模如何实现精准凸起设计
  • 华为无线网络技术基础
  • Django 模型与 ORM 全解析(二):数据库操作
  • Python 2025:AI与自动化运维的融合新纪元
  • MySQL 核心函数与约束详解
  • 设计模式简要
  • 服务扩容与容量评估手册
  • Pyside6 + QML - 信号与槽08 - 一个函数被多个信号触发(带参数)
  • 【第十一章】Python 调用 MySQL 全面指南:从基础到实践​
  • 新手玩家如何使用云手机
  • 【Datawhale组队学习202509】AI硬件与机器人大模型 task02 视觉感知与手眼协调
  • 基础算法---【前缀和】
  • YOLO系统——yolov1工作原理
  • 第20讲 机器学习中的分类数据
  • 《前端学习总结:GitLab、状态管理、组件库与 Umi.js》
  • 【论文阅读】理解世界还是预测未来?—— 世界模型全面综述