步骤 1: 准备工作
- 确保已安装 Java:Kafka 需要 Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 来运行。请确认您的系统上已安装了 Java,并且
JAVA_HOME
环境变量正确配置。 - 解压 Kafka:将下载的 Kafka 压缩包解压到一个目录,比如
C:\kafka_2.xx.x
。(此处建议放在路径D:\kafka)
步骤 2: 创建存储目录
在 Windows 上创建 Kafka 数据和快照存储目录。打开命令提示符(建议用cmd)并执行:
mkdir D:\kafka\data\kraft
步骤 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 脚本来格式化存储目录:
#如果这里放的路径比较长,就会出现如下情况
输入行太长。
命令语法不正确。
#所以建议一开始解压的路径尽可能短,放在路径D:\kafka
#可以用 kafka-storage.bat random-uuid 命令生成一个随机 UUID:
kafka-storage.bat random-uuid
#输出类似:
UhVRTdsrS9bkkertPftfkA
#然后复制这个 UUID 作为 -t 的值。
cd D:\kafka\bin\windows
kafka-storage.bat format -t <your-cluster-id> -c ..\..\config\kraft\server.properties
#输出类似
Formatting metadata directory /tmp/kraft-combined-logs with metadata.version 3.9-IV0.
#至此这一步完成(在这里因为路径名和uuid踩坑了)
步骤 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 D:\kafka
#启动 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 D:\kafka
#创建一个名为 test-topic 的主题:
D:\kafka>bin\windows\kafka-topics.bat --create --topic test-topic --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092
Created topic test-topic.
#验证刚刚创建的主题是否正确添加:
D:\kafka>bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092
test-topic
#发送和接收消息
D:\kafka> 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 D:\kafka> 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
结束!可以去创建派聪明所需主题了!
回复