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的消費者能不能消費到資料