1. 程式人生 > >[kafka掃盲]--(2)Ubuntu下使用kafka

[kafka掃盲]--(2)Ubuntu下使用kafka

Author:趙志乾
Date:2018-10-20
Declaration:All Right Reserved!!!

1、kafka系統的執行條件

首先,kafka服務端程式碼使用scala語言開發,其最終運行於JVM上,故需要安裝JRE。其次,kafka的一些元資料由zookeeper來儲存,並且由zookeeper來監控kafka代理伺服器的線上情況,故需要安裝zookeeper。

2、作業系統版本

本文中的相關操作均在Ubuntu系統上進行,其版本號:12.04.1 TLS。

注:可通過如下命令檢視Ubuntu系統版本。

cat /etc/issue

效果如下圖:

3、jdk、kafka、zookeeper版本

為了使用最新版本的kafka和zookeeper,需要選用jdk版本在1.8以上。

4、jdk、kafka、zookeeper安裝

kafka和zookeeper的安裝較為簡單,將下載後的軟體包解壓到想安裝的路徑下即可完成安裝。

5、 kafka和zookeeper配置

kafka配置:kafka可以採用預設配置,其配置檔案為kafka_2.12-2.0.0/config/server.properties。其中主要關注兩點:1)zookeeper.connect的值需要和zookeeper的配置相匹配,因為兩者之間需要建立長連線通訊;2)listeners的值,其包含服務端套接字對外暴漏的域名和埠,用於和生產者/消費者客戶端進行通訊,預設情況下其為localhost:9092。

zookeeper配置:zookeeper可以採用預設配置,但需要將zookeeper-3.5.4-beta/conf/目錄下的zoo-sample.cfg改名為zoo.cfg,因為zookeeper不識別自帶的那個檔案。其中需要關注的有兩點:1)dataDir的值用於設定資料儲存目錄,需要將其設定一個已存在的目錄;2)clientPort的值用於zookeeper和kafka建立連線,其要求和kafka配置中zookeeper.connect埠值一致;

6、zookeeper、kafka啟動

如下每一條命令列均需在各起一個終端來執行

1、啟動zookeeper,在zookeeper的bin目錄下執行
    ./zkServer.sh start

2、啟動kafka服務端,在kafka的bin目錄下執行
    ./kafka-server-start.sh ../config/server.properties

3、啟動kafka生產者客戶端,在kafka的bin目錄下執行
    ./kafka-console-producer.sh --broker-list localhost:9092 --topic test


4、啟動kafka消費者客戶端,在kafka的bin目錄下執行
    ./kafka-console-consumer.sh --bootstrap-server localhost:9090 --topic test --from-beginning
    

7、kafka測試

在kafka生產者客戶端所在終端輸入文字資訊,按回車即可在消費者客戶端所在終端看到應消費的訊息。如下圖所示: