zookeeper-3.4.6環境搭建

一、zookeeper簡介

Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination
Apache Zookeeper是開源的高可靠的分佈式協調服務。
目前,非常多的開源組件依賴zookeeper的功能,如hadoop、hbase、storm、kafka等等,搭建zookeeper是搭建其他組件的前提條件。

二、部署模式及安裝包準備

zookeeper有三種模式提供服務:
1、單機版--常用於開發階段,做功能測試。
2、僞分佈式--用於節省服務器成本。
3、分佈式--用於高可用場景。

zookeeper是基於Quorum機制,底層使用ZAB協議工作。部署實例最好奇數,比如3、5;當然偶數實例也是可以工作的,只是宕機概率高。

部署前,確保服務器安裝了jdk。從zookeeper官網上下載http://zookeeper.apache.org/ 3.4.6版本到相應的目錄,如/opt/zookeeper目錄。

三、安裝

3.1僞分佈式模式

1、解壓/opt/zookeeper目錄下的tar.gz安裝包到zookeeper1、zookeeper2以及zookeeper3目錄
2、對以上三個目錄做如下操作
    mkdir data
    echo "1">./data/myid(此步根據不同的目錄寫入不同的內容,如zookeeper1寫入1,zookeeper2寫入2,zookeeper3寫入3,數字代表啓動後實例的編號)
    mkdir log
    cd ./conf
    mv zoo_sample.cfg  zoo.cfg
3、修改配置文件zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/zookeeper1/data
dataLogDir=/opt/zookeeper/zookeeper1/log
clientPort=2181(zookeeper2目錄爲2182、zookeeper3目錄爲2183)
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
4、啓動
分別在zookeeper1、zookeeper2和zookeeper3目錄下執行 ./bin/zkServer.sh start
5、驗證
在終端上執行jps,查看java進程,若有三個QuorumPeerMain進程,說明zookeeper初步部署成功。

如果沒有,在zookeeper1、zookeeper2和zookeeper3目錄中查看zookeeper.out啓動日誌,尋找相應的解決方案。
6、使用
在zookeeper1目錄下執行./bin/zkCli.sh -server localhost:2181,進入如下交互界面

help命令查看所有功能

關於每個命令如何使用後續文章說明。

3.2分佈式模式

有了上述僞分佈模式的搭建經驗後,分佈式模式只需改動配置文件中的服務器地址和端口,其他步驟基本不變。
1、配置文件內容如下
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data(三臺服務器使用同一個目錄,不再有zookeeper1、zookeeper2、zookeeper3統一管理)
dataLogDir=/opt/zookeeper/log
clientPort=2181(全部使用2181端口)
server.1=192.168.2.100:2287:3387
server.2=192.168.2.101:2287:3387
server.3=192.168.2.102:2287:3387
2、驗證
在每臺服務器上使用./bin/zkServer.sh start命令啓動服務,同樣jps查看進程。
./bin/zkCli.sh -server 192.168.2.100:2181啓動交互界面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章