安裝kafka之前先安裝JDK.....
一:安裝Zookeeper
Kafka的運行依賴於Zookeeper,所以在運行Kafka之前我們需要安裝並運行Zookeeper
1:下載安裝文件:https://download.csdn.net/download/weixin_33446857/10624824
2:解壓文件(本文解壓到 H:\JAVA\yingyong\kafka)
3:打開H:\JAVA\yingyong\kafka\zookeeper-3.4.6\conf,把zoo_sample.cfg重命名成zoo.cfg
更改前:
更改後:
4: 在任意文本編輯器(如notepad)中打開zoo.cfg,修改dataDir保存路徑
如:dataDir=H:/JAVA/yingyong/kafka/zookeeper-3.4.6/logs
或者 dataDir=H:\\JAVA\\yingyong\\kafka\\zookeeper-3.4.6\\logs
(路徑根據自己實際需要設置)
注意:路徑要麼是"/"分割,要麼是轉義字符"\\",這樣會生成正確的路徑(層級,子目錄)。
默認端口是2181,如果需要更改也可以在zoo.cfg裏面修改 (本文未做修改)
clientPort=2181
更改前:
更改後:
5: 添加系統變量:ZOOKEEPER_HOME= H:\JAVA\yingyong\kafka\zookeeper-3.4.6
(路徑根據自己實際更改)
編輯path系統變量,添加路徑:%ZOOKEEPER_HOME%\bin
6:打開cmd,輸入zkServer,運行Zookeeper。
7:命令行提示如下:說明本地Zookeeper啓動成功
恭喜,Zookeeper已經安裝完成,已在2181端口運行。
注意:不要關了這個(cmd)窗口
二:安裝並運行Kafka
1:下載地址:https://download.csdn.net/download/weixin_33446857/10624845
2:解壓文件(本文解壓到 H:\JAVA\yingyong\kafka)
3:進入kafka配置文件所在目錄,H:\JAVA\yingyong\kafka\kafka_2.11-0.10.0.1\config,使用任意文本編輯器(如notepad)中打開
server.properties文件,
將log.dirs=/tmp/kafka-logs更改爲:
log.dirs=H:/JAVA/yingyong/kafka/kafka_2.11-0.10.0.1/kafka-logs
或者
log.dirs=H:\\JAVA\\yingyong\\kafka\\kafka_2.11-0.10.0.1\\kafka-logs
同樣注意:路徑要麼是"/"分割,要麼是轉義字符"\\",這樣會生成正確的路徑(層級,子目錄)。
4:在server.properties文件中,zookeeper.connect=localhost:2181代表kafka所連接的zookeeper所在的服務器IP以及端口,可根據需要更改。本文在同一臺機器上使用,故不用修改。
5:kafka會按照默認配置,在9092端口上運行,並連接zookeeper的默認端口2181。
三:運行kafka
提示:請確保啓動kafka服務器前,Zookeeper實例已經在運行,因爲kafka的運行是需要zookeeper這種分佈式應用程序協調服務。
1:打開cmd,進入kafka安裝目錄,H:\JAVA\yingyong\kafka\kafka_2.11-0.10.0.1
2:在命令行中輸入:.\bin\windows\kafka-server-start.bat .\config\server.properties 回車。
如果出現:
解決:在kafka安裝目錄中找到bin\windows目錄中的kafka-run-class.bat中,加" "號,如下
修改前:
set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %*
修改後:
set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp "%CLASSPATH%" %KAFKA_OPTS% %*
保存完成後,再次執行 .\bin\windows\kafka-server-start.bat .\config\server.properties
正常情況 如下圖:
到目前爲止,zookeeper以及kafka都已正確運行。保持運行狀態,不要關閉。
重要(操作日誌的處理):
kafka啓動後,在kafka安裝目錄下有個logs目錄,裏面默認生成一堆操作日誌,而且會不斷生成不同時間戳的操作日誌。(這樣看起來真心很亂):
這是因爲,啓動的時候是會默認使用到config目錄下log4j.properties文件中的配置
找到config下的log4j.properties
編輯log4j.properties,將路徑更改下即可,這樣就可以歸檔在一個文件夾下邊了,路徑根據自己喜好定義:
當以後再啓動kafka時,會在kafka安裝目錄下創建start-logs目錄,裏面存放日誌。
另外如何消除不斷生成日誌的問題,就是同一天的不同時間會不停生成。
修改這裏,還是在log4j.properties中:
本身都爲trace,字面理解爲會生成一堆跟蹤日誌,將其改爲INFO即可。
測試:
(1):創建主題
①創建主題,命名爲"test20190916",replicationfactor=1(因爲只有一個kafka服務器在運行)。可根據集羣中kafka服務器個數來修改replicationfactor的數量,以便提高系統容錯性等。
②在G:\kgdxkj\yingyong\kafka_2.11-0.10.0.1\kafka_2.11-0.10.0.1\bin\windows目錄下打開新的命令行(cmd)
③輸入命令:
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test20190916
執行完畢之後,此窗口可以關閉。
(2):創建生產者(producer)和消費者(consumer)
①在G:\kgdxkj\yingyong\kafka_2.11-0.10.0.1\kafka_2.11-0.10.0.1\bin\windows目錄下打開新的命令行(cmd)。
②輸入命令,啓動生產者:
kafka-console-producer.bat --broker-list localhost:9092 --topic test20190916
該窗口不要關閉。
③同樣在該目錄下打開新的命令行。
④輸入命令,啓動消費者:
kafka-console-consumer.bat --zookeeper localhost:2181 --topic test20190916
該窗口不要關閉
現在生產者、消費者均已創建完成。
⑤在生產者命令行窗口中任意輸入內容,回車 在消費命令行窗口中即可看到相應的內容。
至此,已完成kafka在windows下的安裝和基本的使用。
本人才疏學淺,如有錯誤,還望批評指正。