Windows安裝運行Kafka
來自: http://blog.csdn.net/zhyooo123/article/details/50684161
簡介
本文講述了如何在Windows OS上配置并啟動Apache Kafka,這篇指南將會指導你安裝Java和Apache Zookeeper。
Apache Kafka是一個快速可擴展的消息隊列,能夠應對繁重的讀寫負載,即IO相關工作。更多信息請參見http://kafka.apache.org。由于Zookeeper能提供可靠的分布式協調服務,Apache Kafka需要運行一個Zookeeper實例。更多Zookeeper的相關信息請查看https://zookeeper.apache.org/。
關于在Windows安裝Kafka的具體步驟,可以查看這個視頻:https://youtu.be/OJKesEpO6ok
下載所需文件
- 根據系統OS和CPU架構,在這里下載Server JRE http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
- 在這里下載并安裝7-zip http://www.7-zip.org/download.html
- 在這里下載Zookeeper,并用7-zip解壓 http://zookeeper.apache.org/releases.html
- 在這里下載Kafka并用7-zip解壓 http://kafka.apache.org/downloads.html
針對此教程,我們將Zookeeper與Kafka解壓到C盤,不過也可以選擇其他位置。這里我們要使用完全的zookeeper,而不是用Kafka打包的那個,因為這是一個單節點的Zookeeper實例。也可以運行打包了zookeeper的Kafka,位置在\kafka\bin\windows庫中。
安裝
A. JDK安裝
1.啟動JRE安裝,選中復選框“修改目標路徑”,然后點擊安裝。
2.修改安裝目錄,文件夾名稱中不能有空格,例如:C:\Java\jre1.8.0_xx\(默認情況下是C:\Program Files\Java\jre1.8.0_xx),然后點擊下一步。
3.現在點擊控制面板->系統->高級系統設置->環境變量,打開系統環境變量對話框。
4.點擊用戶變量中的新用戶變量按鈕,然后在變量名稱那里輸入JAVA_HOME,并將自定義的jre路徑填入變量值。如下圖所示:
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安裝就完成了。
一些有用的命令
1.列出主題:kafka-topics.bat –list –zookeeper localhost:2181
2.描述主題:kafka-topics.bat –describe –zookeeper localhost:2181 –topic [Topic Name]
3.從頭讀取消息:kafka-console-consumer.bat –zookeeper localhost:2181 –topic [Topic Name] –from-beginning
4.刪除主題:kafka-run-class.bat kafka.admin.TopicCommand –delete –topic [topic_to_delete] –zookeeper localhost:2181