windows环境,安装kafka
步骤 1: 准备工作
确保已安装 Java:Kafka 需要 Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 来运行。请确认您的系统上已安装了 Java,并且 JAVA_HOME 环境变量正确配置。
解压 Kafka:将下载的 Kafka 压缩包解压到一个目录,比如 C:\kafka_2.xx.x。(此处建议放在路径D:\kafka)
步骤 2: 创建存储目录
在 Windows 上创建 Kafka 数据和快照存储目录。打开命令提示符(可以用cmd,也)并执行:
mkdir E:\kafka_2.13-3.9.0
步骤 3: 初始化集群ID
在首次启动 Kafka Broker 之前,需要生成一个集群 ID (cluster-id)并初始化元数据。
在 Kafka 的 KRaft 模式下,集群 ID 是用来唯一标识 Kafka 集群的一个 UUID。使用 Kafka 提供的 kafka-storage.sh (Linux/Mac) 或 kafka-storage.bat (Windows) 脚本可以自动生成并格式化存储目录,同时也会生成一个集群 ID。
执行 kafka-storage.bat 脚本来格式化存储目录:
#如果这里放的路径比较长,就会出现如下情况
输入行太长。
命令语法不正确。
#所以建议一开始解压的路径尽可能短,放在路径E:\kafka_2.13-3.9.0#可以用 kafka-storage.bat random-uuid 命令生成一个随机 UUID:
kafka-storage.bat random-uuid
#输出类似:
H3xZkyaNQ-qcQ_H_QYAgzg#然后复制这个 UUID 作为 -t 的值。
cd E:\kafka_2.13-3.9.0\bin\windows
.\kafka-storage.bat format -t H3xZkyaNQ-qcQ_H_QYAgzg -c "E:\kafka_2.13-3.9.0\config\kraft\server.properties"
#输出类似
Formatting metadata directory /tmp/kraft-combined-logs with metadata.version 3.9-IV0.#至此这一步完成
步骤 4: 修改配置文件
编辑 C:\kafka_2.xx.x\config\kraft\server.properties 文件,至少需要设置以下属性:
node.id: 唯一标识该节点的 ID。
process.roles: 设置为 “broker,controller” 来同时作为控制器和代理。
listeners: 定义监听地址,例如 PLAINTEXT://localhost:9092。
controller.quorum.voters: 如果是单节点测试,可以忽略此设置;如果是多节点,则需列出所有控制器节点的信息。
(默认,暂时不用修改)
步骤 5: 启动 Kafka Broker
以管理员权限运行cmd
cd E:\kafka_2.13-3.9.0#启动 Kafka Broker
bin\windows\kafka-server-start.bat config\kraft\server.properties#一系列的日志输出,表明 Kafka 正在启动,已下表示 Kafka 已成功启动并开始监听指定的端口
[2025-08-07 17:49:16,789] INFO [KafkaServer id=1] started (kafka.server.KafkaServer)
验证 Kafka 是否正常工作
新开两个cmd窗口
cd E:\kafka_2.13-3.9.0#创建一个名为 test-topic 的主题:
E:\kafka_2.13-3.9.0> bin\windows\kafka-topics.bat --create --topic test-topic --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092
Created topic test-topic.#验证刚刚创建的主题是否正确添加:
E:\kafka_2.13-3.9.0> bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092
test-topic#发送和接收消息
E:\kafka_2.13-3.9.0> bin\windows\kafka-console-producer.bat --bootstrap-server localhost:9092 --topic test-topic
>Hello Kafka???
>this is a test message.
>how are you#在另一个cmd窗口
PS E:\kafka_2.13-3.9.0> bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-topic --from-beginning
Hello Kafka???
this is a test message.
how are you