步驟 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