1. 程式人生 > >Kafka入門-windows安裝測試

Kafka入門-windows安裝測試

安裝JDK

二、安裝zookeeper

  kafka使用zookeeper來實現動態的叢集擴充套件,不需要更改客戶端(producer和consumer)的配置。broker會在zookeeper註冊並保持相關的元資料(topic,partition資訊等)更新。

  而客戶端會在zookeeper上註冊相關的watcher。一旦zookeeper發生變化,客戶端能及時感知並作出相應調整。這樣就保證了新增或去除broker時,各broker間仍能自動實現負載均衡。

下載後解壓到一個目錄:

  • 1、進入Zookeeper設定目錄,筆者D:\Java\Tool\zookeeper-3.4.6\conf
  • 2、將“zoo_sample.cfg”重新命名為“zoo.cfg”
  • 3、在任意文字編輯器(如notepad)中開啟zoo.cfg
  • 4、找到並編輯dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\data
  • 5、與Java中的做法類似,我們在系統環境變數中新增:
    • a、在系統變數中新增ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.6
    • b、編輯path系統變數,新增為路徑%ZOOKEEPER_HOME%\bin;
  • 6、在zoo.cfg檔案中修改預設的Zookeeper埠(預設埠2181)
  • 7、開啟新的cmd,輸入zkserver,執行Zookeeper。
  • 8、命令列提示如下:說明本地Zookeeper啟動成功
...
...
2017-04-26 14:18:53,364 [myid:] - INFO  [main:[email protected]100] - Server environment:user.dir=E:\zookeeper-3.4.8
2017-04-26 14:18:53,370 [myid:] - INFO  [main:[email protected]787] - tickTime set to 2000
2017-04-26 14:18:53,370 [myid:] - INFO  [main:[email protected]
796] - minSessionTimeout set to -1 2017-04-26 14:18:53,371 [myid:] - INFO [main:[email protected]805] - maxSessionTimeout set to -1 2017-04-26 14:18:53,415 [myid:] - INFO [main:[email protected]89] - binding to port 0.0.0.0/0.0.0.0:2181

三、安裝與執行Kafka

下載後解壓到任意一個目錄,筆者的是D:\Java\Tool\kafka_2.11-0.10.0.1

  • 1、進入Kafka配置目錄,D:\Java\Tool\kafka_2.11-0.10.0.1
  • 2、編輯檔案“server.properties”
  • 3、找到並編輯log.dirs=D:\Java\Tool\kafka_2.11-0.10.0.1\kafka-log,這裡的目錄自己修改成自己喜歡的
  • 4、找到並編輯zookeeper.connect=localhost:2181。表示本地執行
  • 5、Kafka會按照預設,在9092埠上執行,並連線zookeeper的預設埠:2181。

執行:
重要:請確保在啟動Kafka伺服器前,Zookeeper例項已經準備好並開始執行。

  • 1、進入Kafka安裝目錄D:\Java\Tool\kafka_2.11-0.10.0.1
  • 2、按下Shift+右鍵,選擇“開啟命令視窗”選項,開啟命令列。
  • 3、現在輸入一下命令,並回車。
.\bin\windows\kafka-server-start.bat .\config\server.properties   

若果出現錯誤: “找不到或無法載入主類 Files\java\jdk1.7.0_80\lib;C:\Program”

解決方式如下:
在kafka安裝目錄中找到bin\windows目錄中的kafka-run-class.bat找到142行為%CLASSPATH%加上雙引號

修改前: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% %*

四、測試

上面的Zookeeper和kafka一直開啟

(1)、建立主題

  • 1、進入Kafka安裝目錄D:\Java\Tool\kafka_2.11-0.10.0.1
  • 2、按下Shift+右鍵,選擇“開啟命令視窗”選項,開啟命令列。
  • 3、現在輸入下面命令,建立一個叫linlin的topic
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic linlin  

(2)建立生產者

  • 1、進入Kafka安裝目錄D:\Java\Tool\kafka_2.11-0.10.0.1
  • 2、按下Shift+右鍵,選擇“開啟命令視窗”選項,開啟命令列。
  • 3、現在輸入下面命令,建立一個關注linlin主題的生產者
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic linlin 

(3)建立消費者

  • 1、進入Kafka安裝目錄D:\Java\Tool\kafka_2.11-0.10.0.1
  • 2、按下Shift+右鍵,選擇“開啟命令視窗”選項,開啟命令列。
  • 3、現在輸入下面命令,建立一個關注linlin主題的消費者
.\bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic linlin

(4)測試

在生產者命令視窗輸入一句話進行測試,如: Hello I am linlin, who are you,然後回車。可以看到消費之視窗獲取到了這一條訊息。

常用命令

  • 檢視現有的topic
.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --list
  • 檢視topic詳細資訊
.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --describe

後話

從上面的安裝測試也大概可以看出kafka的結構。下圖為kafka的結構圖,摘自網路