分散式Zookeeper安裝搭建詳解
一、下載zookeeper安裝包
- 在官網中下載,對於在牆內的使用者,並不推薦該方式下載速度可能比較慢
- 推薦方式:在cloudera倉庫進行下載,相較於官網下載更加穩定快速,地址http://archive.cloudera.com/cdh5/cdh/5/,選擇需要版本下載tar.gz的安裝包
二、將安裝包上傳解壓到伺服器指定目錄
執行 tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/local/java/zookeeper/
將zookeeper解壓到指定的zookeeper
目錄,根據使用者自己的需要進行替換
三、對預設配置檔案進行重新命名
將zookeeper根目錄中conf資料夾下的zoo_sample.cfg重新命名為zoo.cfg,修改後zookeeper便可以識別到該檔案
四、修改zoo.cfg配置檔案
在該檔案中根據需要新增如下配置:
Ps:上面的data目錄和dataLog目錄預設是沒有的,需要自己預先建立好。並且真正使用者開發環境的配置檔案,儘量刪除刪掉上面的註釋,以及多餘的空白字元(劃重點),有可能會造成zookeeper的讀取失敗
五、新建myid檔案
在server1機器中,在上面配置的data目錄下,新建一個名為 myid的檔案,檔案內容填寫 1,對的,沒有聽錯,檔案中只保留一個數字 1。zookeeper是根據該檔案來決定zookeeper叢集各個機器的身份分配。
六、將配置好的zookeeper分發到叢集的所有機器
經過上面的五個步驟zookeeper已經配置完畢,然後將其依次拷貝的叢集的其他機器中。快捷一點可以使用 scp 命令來做這件事:
scp 本地zookeeper安裝目錄 登陸遠端機器的使用者名稱@遠端機器地址 : 遠端機器存放zookeeper的地址
eg:scp zookeeper [email protected]:
/usr/local/java/zookeeper/
然後修改data目錄的下的myid 檔案中的數字,在這裡即為將server2的myid內容修改為2,將server3的myid內容修改為3。對於不同的叢集,根據需要進行修改,與配置檔案中的order保持一致。
七、啟動zookeeper服務
修改完成後,在每臺機器上依次使用bin/zkServer.sh start
來啟動zookeeper服務,待啟動完成後使用 bin/zkServer.sh status
來檢視該機器的身份
八、啟動zookeeper客戶端檢驗服務是否可用
使用 bin/zkCli.sh
來檢驗zookeeper是否可以連線成功,若出現如下提示,則表示zookeeper服務已經安裝成功。