在Windows平臺上搭建kafka
在近期的java開發中發現訊息請求總是處理的不太妥當,尤其是當很多使用者同時請求時候,系統的反應就顯得不太靈敏,於是就想到了kafka這種高吞吐量的分散式釋出訂閱訊息系統,它可以處理消費者規模的網站中的所有動作流資料。由於沒有專用的伺服器,所以就在windows平臺上搭建了一個簡單的kafka測試環境,可以滿足使用日常。
一、安裝JDK
作為一名java開發者,jdk的安裝和使用就像是家常便飯一般,本著設計模式中的複用原則,所以筆者在此就不在贅述,如果有是在不會的可以自行查詢資料。
二、安裝Zookeeper
首先到官網下載安裝包,解壓到任意一個目錄即可。這裡筆者的目錄為:“D:\java\zookeeper\zookeeper-3.4.8”(也稱為工作目錄)
1、進入工作目錄,在 conf 目錄下面將“zoo_sample.cfg”重新命名為“zoo.cfg”
2、開啟zoo.cfg ,將dataDIr設定為自己喜歡的目錄(dataDir=D:\\java\\zookeeper\\zookeeper-3.4.8\\tmp)可以是任意的
3、配置系統環境變數
(1)新建系統環境變數ZOOKEEPER_HOME,設定為"D:\java\zookeeper\zookeeper-3.4.8\conf"
(2)在path變數中新增“ZOOKEEPER_HOME%\bin;”,一定要注意最前面有沒有分號,如果沒有的話需要自己新增。
4、開啟dos視窗,輸入zkserver開啟服務,如下圖所示表示開啟成功。
三、Kafka的安裝和使用
首先需要從官網下載kafka安裝包,要求是二進位制版本的(具體原因筆者也沒有搞清楚),工作目錄是“D:\java\kafka\kafka_2.11-0.10.0.1”
1、進入目錄“D:\java\kafka\kafka_2.11-0.10.0.1\config”,修改server.properties檔案,將log.dirs改為任意目錄
2、筆者這裡是在本地測試使用,所以zookeeper.connect=localhost:2181預設在本地執行。
3、另外開啟一個doc視窗(前面的視窗不要關閉),切換到工總目錄,使用命令“.\bin\windows\kafka-server-start.bat .\config\server.properties
四、簡單測試(注意以下操作均是在上文中所提的工作目錄中進行)
1、新建主題(topic)---sky
使用命令“.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic sky”新建主題。
2、新建生產者(producer)
紅色箭頭部分是主題名(筆者的就是sky),然後回車,等待消費者的建立。
3、建立消費者(consumer)
紅色箭頭部分是主題名(筆者的就是sky),然後回車,等待消費者傳送訊息。
4、通訊
在生產者視窗輸入訊息,然後回車,消費者就會自動的獲得生產者提供的訊息。(左圖是生產者,右圖是消費者)
訊息消費之前
訊息消費之後