zookeeper的安裝與部署-集群


1.Zookeeper的下載與解壓
     通過后面的鏈接下載Zookeeper:    Zookeeper下載
在此我們下載zookeeper-3.4.5
下載后解壓至安裝目錄下,本文我們解壓到目錄:/opt/zookeeper-3.4.8

$:tar -xzvf zookeeper-3.4.8.tar.gz -C /opt/

 

如下圖所示:
  

 

 2.zookeeper的環境變量的配置:

為了今后操作方便,我們需要對Zookeeper的環境變量進行配置,方法如下:
在/etc/profile文件中加入如下的內容:

#set zookeeper environment

export ZOOKEEPER_HOME=/opt/zookeeper-3.4.8
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

 

然后 source /etc/profile 刷新一下配置

 

-----------------------------------------------------------------------------------------------------------------------------------------


3.集群部署:
在Zookeeper集群環境下只要一半以上的機器正常啟動了,那么Zookeeper服務將是可用的。因此,集群上部署Zookeeper最好使用奇數台機器,這樣如果有5台機器,只要3台正常工作則服務將正常使用。
下面我們將對Zookeeper的配置文件的參數進行設置:
進入zookeeper-3.4.8/conf:

$:cp zoo_sample.cfg zoo.cfg

$:vim zoo.cfg

可參考下圖配置:

 

 

注意上圖的配置中master,slave1,slave2分別為主機名。

需要配置相應的hosts  

192.168.1.213 master
192.168.1.216 slave1
192.168.1.217 slave2

  

在上面的配置文件中"server.id=host:port:port"中的第一個port是從機器(follower)連接到主機器(leader)的端口號,第二個port是進行leadership選舉的端口號。

接下來在dataDir所指定的目錄下創建一個文件名為zookeeper_server.pid的文件,文件中的內容只有一行,為本主機對應的id值,也就是上圖中server.id中的id。例如:在服務器1中的zookeeper_server.pid的內容應該寫入1。

4.遠程復制分發安裝文件
接下來將上面的安裝文件拷貝到集群中的其他機器上對應的目錄下:

root@master:~/zookeeper-3.4.8$ scp -r zookeeper-3.4.8/ slave1:/opt/zookeeper-3.4.8

root@master:~/zookeeper-3.4.8$ scp -r zookeeper-3.4.8/ slave2:/opt/zookeeper-3.4.8

 

拷貝完成后修改對應的機器上的zookeeper_server.pid。例如修改slave1中的zookeeper_server.pid如下:

root@slave1:~/opt/zookeeper-3.4.8$ echo "2" > data/myid

 

5.啟動ZooKeeper集群
在ZooKeeper集群的每個結點上,執行啟動ZooKeeper服務的腳本,如下所示:
 

 haduser@master:~/opt/zookeeper-3.4.8$ bin/zkServer.sh start

  haduser@slave1:~/opt/zookeeper-3.4.8$ bin/zkServer.sh start

  haduser@slave2:~/opt/zookeeper-3.4.8$ bin/zkServer.sh start

如下圖所示:

 

其中,QuorumPeerMain是zookeeper進程,啟動正常。



如上依次啟動了所有機器上的Zookeeper之后可以通過ZooKeeper的腳本來查看啟動狀態

 bin/zkServer.sh status

包括集群中各個結點的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每個結點上查詢的結果:

 

 

 

通過上面狀態查詢結果可見,slave1是集群的Leader,其余的兩個結點是Follower。


另外,可以通過客戶端腳本,連接到ZooKeeper集群上。對於客戶端來說,ZooKeeper是一個整體(ensemble),連接到ZooKeeper集群實際上感覺在獨享整個集群的服務,所以,你可以在任何一個結點上建立到服務集群的連接,例如:

 

 


6.停止zookeeper進程:zookeeper-3.4.3/bin/zkServer.sh stop

 

-----------------------------------------------------------------------------------------------------------------------------------------

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM