天天看點

zookeeper叢集和kafka叢集及nginx-kafka整合搭建

zookeeper叢集搭建和kafka叢集搭建

linux 開發機(主)

4台centos7虛拟機

192.168.0.201

192.168.0.202(nginx-kafka)

192.168.0.203

192.168.0.204

虛拟機配置 jdk1.8 jps

安裝java(centos7)安裝java1.8環境

安裝zookeeper

下載下傳(自己到官網下載下傳新的版本)

解壓後移到指定目錄

修改配置

zoo_sample.cfg 這個檔案是官方給我們的zookeeper的樣闆檔案,給他複制一份命名為zoo.cfg,zoo.cfg是官方指定的檔案命名規則。

建立myid檔案

建立環境變量

啟動Zookeeper服務并檢視

zoo.cfg配置檔案中指定目錄卻沒有建立! 建立相應目錄即可。

zoo.cfg中dataDir指定路徑為Myid檔案的路徑。

關閉防火牆

2181端口被占用!換端口

出現連結異常。将本機的ip改為0.0.0.0,不要寫本機的ip位址,即如下所示(最後的解決方法)

啟動zookeeper可以檢視錯誤資訊 zkServer.sh start-foreground

下載下傳

解壓移動到指定目錄

修改配置檔案(注意把注釋去掉)

如果用了内網端口轉發響應相應的配置server.properties 要修改,注釋掉host.name,增加advertised.listeners=PLAINTEXT://192.168.203.3:9092 屬性

配置環境變量

啟動

檢視狀态

測試kafka

安裝nginx-kafka插件

nginx可以直接把資料寫到kafka裡面去。

1.安裝git

2.切換到/usr/local/src目錄,然後将kafka的c用戶端源碼clone到本地

3.進入到librdkafka,然後進行編譯

4.安裝nginx整合kafka的插件,進入到/usr/local/src,clone nginx整合kafka的源碼

5.進入到nginx的源碼包目錄下 (編譯nginx,然後将将插件同時編譯)

6.修改nginx的配置檔案,詳情請檢視目前目錄的nginx.conf

主要是添加kafka 和 location,在liuwei的git倉庫裡面的用法說明有提到。

7.啟動zk和kafka叢集(建立topic)

8.啟動nginx,報錯,找不到kafka.so.1的檔案

原因是沒有加載庫編譯

9.加載so庫

10.測試前把nginx開啟,記得要ping通才能測試,而且開啟相應的端口,開始測試:向nginx中寫入資料,然後觀察kafka的消費者能不能消費到資料