Kafka在windows上的安裝、運行 kafka在windows上的安裝、運行

kafka在windows上的安裝、運行

1.簡介

  Kafka是一種高吞吐量的分佈式發佈訂閱消息系統。詳細介紹可查閱官網:kafka官網


2.環境搭建


2.1 安裝JDK

    下載地址:jre下載

   有關jdk的安裝不再贅述。


2.2 安裝Zookeeper

     下載地址:https://zookeeper.apache.org/releases.html

    下載後,解壓放在目錄D:\bigdata(本文所用的目錄)下,關於zookeeper以及kafka的目錄,路徑中最好不要出現空格,比如D:\Program Files,儘量別用,運行腳本時會有問題。

①進入zookeeper的相關設置所在的文件目錄,例如本文的:D:\bigdata\zookeeper-3.4.10\conf

②將"zoo_sample.cfg"重命名爲"zoo.cfg"

③打開zoo.cfg(至於使用什麼編輯器,根據自己喜好選即可),找到並編輯:

dataDir=/tmp/zookeeper  to  D:/bigdata/zookeeper-3.4.10/data D:\\bigdata\\zookeeper-3.4.10\\data(路徑僅爲示例,具體可根據需要配置)

這裏注意,路徑要麼是"/"分割,要麼是轉義字符"\\",這樣會生成正確的路徑(層級,子目錄)

④與配置jre類似,在系統環境變量中添加:

    a.系統變量中添加ZOOKEEPER_HOME=D:\bigdata\zookeeper-3.4.10

    b.編輯系統變量中的path變量,增加%ZOOKEEPER_HOME%\bin

⑤在zoo.cfg文件中修改默認的Zookeeper端口(默認端口2181)

這是本文最終的zoo.cfg文件的內容:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=D:/bigdata/zookeeper-3.4.10/data
#dataDir=D:\\bigdata\\zookeeper-3.4.10\\data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

⑥打開cmd窗口,輸入zkserver,運行Zookeeper,運行結果如下:


恭喜,Zookeeper已經安裝完成,已在2181端口運行。


2.3 安裝kafka

    下載地址:http://kafka.apache.org/downloads

    要下載Binary downloads這個類型,不要下載源文件,這種方便使用。下載後,解壓放在D:\bigdata目錄下。

①進入kafka配置文件所在目錄,D:\bigdata\kafka_2.11-0.9.0.1\config

②編輯文件"server.properties",找到並編輯:

 log.dirs=/tmp/kafka-logs  to  log.dirs=D:/bigdata/kafka_2.11-0.9.0.1/kafka-logs 或者 D:\\bigdata\\kafka_2.11-0.9.0.1\\kafka-logs

同樣注意:路徑要麼是"/"分割,要麼是轉義字符"\\",這樣會生成正確的路徑(層級,子目錄)。錯誤路徑情況可自行嘗試,文件夾名爲這種形式:bigdatakafka_2.11-0.9.0.1kafka-logs

③在server.properties文件中,zookeeper.connect=localhost:2181代表kafka所連接的zookeeper所在的服務器IP以及端口,可根據需要更改。本文在同一臺機器上使用,故不用修改。

④kafka會按照默認配置,在9092端口上運行,並連接zookeeper的默認端口2181。


2.4 運行kafka

提示:請確保啓動kafka服務器前,Zookeeper實例已經在運行,因爲kafka的運行是需要zookeeper這種分佈式應用程序協調服務。

①進入kafka安裝目錄D:\bigdata\kafka_2.11-0.9.0.1

②按下shift+鼠標右鍵,選擇"在此處打開命令窗口",打開命令行。

③在命令行中輸入:.\bin\windows\kafka-server-start.bat .\config\server.properties   回車。

④正確運行的情況爲:


到目前爲止,zookeeper以及kafka都已正確運行。保持運行狀態,不要關閉。



重要(操作日誌的處理):

kafka啓動後,如果你去查看kafka所在的根目錄,或者是kafka本身的目錄,會發現已經默認生成一堆操作日誌(這樣看起來真心很亂):


而且會不斷生成不同時間戳的操作日誌。剛開始不知所措,一番研究後,看了啓動的腳本內容,發現啓動的時候是會默認使用到這個log4j.properties文件中的配置,而在zoo.cfg是不會看到本身的啓動會調用到這個,還以爲只有那一個日誌路徑:


在這裏配置一下就可以了,找到config下的log4j.properties:


將路徑更改下即可,這樣就可以歸檔在一個文件夾下邊了,路徑根據自己喜好定義:


另外如何消除不斷生成日誌的問題,就是同一天的不同時間會不停生成。

修改這裏,還是在log4j.properties中:


本身都爲trace,字面理解爲會生成一堆跟蹤日誌,將其改爲INFO即可。


2.5 創建主題

①創建主題,命名爲"test0811",replicationfactor=1(因爲只有一個kafka服務器在運行)。可根據集羣中kafka服務器個數來修改replicationfactor的數量,以便提高系統容錯性等。

②在D:\bigdata\kafka_2.11-0.9.0.1\bin\windows目錄下打開新的命令行

③輸入命令:

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test0811

回車。 


該窗口可以關閉。


2.6 創建生產者(producer)和消費者(consumer)

①在D:\bigdata\kafka_2.11-0.9.0.1\bin\windows目錄下打開新的命令行。

②輸入命令,啓動producer:

kafka-console-producer.bat --broker-list localhost:9092 --topic test0811 

該窗口不要關閉。

③同樣在該目錄下打開新的命令行。

④輸入命令,啓動consumer:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test0811


現在生產者、消費者均已創建完成。

⑤在producer命令行窗口中任意輸入內容,回車  在consumer命令行窗口中即可看到相應的內容。


至此,已完成kafka在windows下的安裝和基本的使用。


本人才疏學淺,如有錯誤,還望批評指正。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章