下面是分步指南,教你如何在Windows OS上安裝運行Apache Zookeeper和Apache Kafka。html
本文講述瞭如何在Windows OS上配置並啓動Apache Kafka,這篇指南將會指導你安裝Java和Apache Zookeeper。
Apache Kafka是一個快速可擴展的消息隊列,可以應對繁重的讀寫負載,即IO相關工做。更多信息請參見http://kafka.apache.org。因爲Zookeeper能提供可靠的分佈式協調服務,Apache Kafka須要運行一個Zookeeper實例。更多Zookeeper的相關信息請查看https://zookeeper.apache.org/。java
關於在Windows安裝Kafka的具體步驟,能夠查看這個視頻:https://youtu.be/OJKesEpO6okapache
針對此教程,咱們將Zookeeper與Kafka解壓到C盤,不過也能夠選擇其餘位置。這裏咱們要使用徹底的zookeeper,而不是用Kafka打包的那個,由於這是一個單節點的Zookeeper實例。也能夠運行打包了zookeeper的Kafka,位置在\kafka\bin\windows庫中。windows
A. JDK安裝bash
1.啓動JRE安裝,選中複選框「修改目標路徑」,而後點擊安裝。服務器
2.修改安裝目錄,文件夾名稱中不能有空格,例如:C:\Java\jre1.8.0_xx\(默認狀況下是C:\Program Files\Java\jre1.8.0_xx),而後點擊下一步。
3.如今點擊控制面板->系統->高級系統設置->環境變量,打開系統環境變量對話框。
4.點擊用戶變量中的新用戶變量按鈕,而後在變量名稱那裏輸入JAVA_HOME,並將自定義的jre路徑填入變量值。以下圖所示:架構
Java路徑與版本可能會根據所使用Kafka的版本而有所改變oracle
5.如今點擊ok。
6.剛纔打開的「環境變量「對話框中有「系統變量」一欄,在其中尋找路徑變量。
7.編輯路徑與類型「;%JAVA_HOME%\bin」,以下圖:編輯器
8.確認Java安裝打開cmd,輸入類型「java –version」,應該可以看到剛剛安裝的java版本。分佈式
若是命令行提示與上圖相似,請繼續。不然,須要從新檢查安裝版本是否與OS架構匹配(x86, x64),以及環境變量路徑是否正確。
B. Zookeeper安裝
1.進入Zookeeper設置目錄,好比C:\zookeeper-3.4.7\conf
2. 將「zoo_sample.cfg」重命名爲「zoo.cfg」。
3. 在任意文本編輯器(如notepad)中打開zoo.cfg,我我的更喜歡notepad++。
4. 找到並編輯dataDir=/tmp/zookeeper to :\zookeeper-3.4.7\data
5. 與Java中的作法相似,咱們在系統環境變量中添加:
a. 在系統變量中添加ZOOKEEPER_HOME = C:\zookeeper-3.4.7
b. 編輯系統變量,命名爲路徑 System Variable%ZOOKEEPER_HOME%\bin;
6. 在zoo.cfg文件中修改默認的Zookeeper端口(默認端口2181)。
7. 打開新的cmd,輸入zkserver,運行Zookeeper。
8. 命令行提示以下:
恭喜,Zookeeper已經完成並在端口2181運行。
C. 安裝Kafka
1. 進入Kafka配置目錄,例如C:\kafka_2.11-0.9.0.0\config
2. 編輯文件「server.properties」
3. 找到並編輯「log.dirs=/tmp/kafka-logs」 to 「log.dir= C:\kafka_2.11-0.9.0.0\kafka-logs」
4. 若是Zookeeper在某些其餘的機器或集羣上運行,能夠將「zookeeper.connect:2181」修改成自定義IP與端口。在這個演示中咱們使用了同一個機器,所以不必作修改。文件中的Kafka端口和broker.id也是能夠配置的。其餘設置不變。
5. Kafka會按照默認,在9092端口上運行,並鏈接zookeeper的默認端口:2181。
D. 運行Kafka服務器
重要:請確保在啓動Kafka服務器前,Zookeeper實例已經準備好並開始運行。
1.進入Kafka安裝目錄C:\kafka_2.11-0.9.0.0\
2.按下Shift+右鍵,選擇「打開命令窗口」選項,打開命令行。
3.如今輸入.\bin\windows\kafka-server-start.bat .\config\server.properties 並回車。
.\bin\windows\kafka-server-start.bat .\config\server.properties
4.若是一切正常,命令行應當是這樣:
5.如今Kafka已經準備好並開始運行,能夠建立主題來存儲消息了。咱們也能從Java/Scala代碼中,或直接從命令行中生成或使用數據。
E. 建立主題
1. 如今建立主題,命名爲「test」,replication factor=1(由於只有1個Kafka服務器在運行)。若是集羣中所運行的Kafka服務器不止1個,能夠相應增長replication-factor,從而提升數據可用性和系統容錯性。
2. 在C:\kafka_2.11-0.9.0.0\bin\windows打開新的命令行。
3. 輸入下面的命令,回車:
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
F. 建立Producer及Consumer來測試服務器。
1.在C:\kafka_2.11-0.9.0.0\bin\windows打開新的命令行。
2.輸入如下命令,啓動producer:
kafka-console-producer.bat --broker-list localhost:9092 --topic test
3.在一樣的位置C:\kafka_2.11-0.9.0.0\bin\windows再次打開新的命令行。
4.如今輸入下列命令啓動consumer:
kafka-console-consumer.bat --zookeeper localhost:2181 --topic test
5.如今有兩個命令行窗口,以下圖:
6.在producer命令行中任意輸入內容,回車;在其餘consumer命令行中能看到相應消息。
7.若是可以將消息推送到consumer端並顯示出來的話,Kafka安裝就完成了。
cd /home/work/soft/kafka_2.8.0-0.8.1.1/bin ./kafka-topics.sh --create --zookeeper 10.48.170.26:2181 --replication-factor 1 --partitions 3 --topic test ./kafka-console-producer.sh --broker-list 10.48.170.26:9092 --topic test ./kafka-console-consumer.sh --zookeeper 10.48.170.26:2181 --topic test 1.列出主題:./kafka-topics.sh --list --zookeeper 10.48.170.26:2181 2.描述主題:./kafka-topics.sh --describe --zookeeper 10.48.170.26:2181 --topic [Topic Name] 3.從頭讀取消息:./kafka-console-consumer.sh --zookeeper 10.48.170.26:2181 --topic [Topic Name] --from-beginning 4.刪除主題:./kafka-run-class.sh kafka.admin.TopicCommand --delete --topic [topic_to_delete] --zookeeper 10.48.170.26:2181
Refer:
[1] Setting Up and Running Apache Kafka on Windows OS
https://dzone.com/articles/running-apache-kafka-on-windows-os
[2] Windows OS上安裝運行Apache Kafka教程