1. 程式人生 > >Linux上Zookeeper叢集的配置

Linux上Zookeeper叢集的配置

前提準備:

配置一臺linux機器(按照如下步驟),並再克隆出兩臺,再分別配置其IP,修改相關檔案。

3臺主機的主機名與IP地址的對映配置在/etc/hosts檔案中配置;

[[email protected] ~]# vi /etc/hosts

192.168.1.101   zk1
192.168.1.102   zk2
192.168.1.103   zk3

1.系統環境要求

為了達到zookeeper的可靠性要求,叢集的配置數目必須為奇數(3,5,7....)最小是3,即你要在3臺機器上做同樣的處理。其原理:在一個zookeeper叢集中,只要半數以上的機器正常工作,整個叢集即可處於正常工作的狀態。

例如:3臺機器組成的叢集,只要int(3/2)+1=2臺機器正常工作即可。也就是說允許3臺中的1臺機器宕機。

2.配置步驟:

(1)將zookeeper的安裝包上傳並解壓到指定資料夾

[[email protected] ~]# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring zookeeper-3.4.5.tar.gz...
  100%   16017 KB    16017 KB/sec    00:00:01       0 Errors  

[[email protected]
~]# tar -zxvf zookeeper-3.4.5.tar.gz -C /cloud/

(2)重新命名配置檔案zoo_sample.cfg:
[[email protected] ~]# cd /cloud/zookeeper-3.4.5/conf/
[[email protected] conf]# ls
configuration.xsl  log4j.properties  zoo_sample.cfg
[[email protected] conf]# cp zoo_sample.cfg zoo.cfg

(3)修改配置檔案

[[email protected]

conf]# vi zoo.cfg 

找到dataDir將其修改為:

dataDir=/cloud/zookeeper-3.4.5/data

之後在檔案末尾新增如下內容

server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888

(4)建立zookeeper的資料存放目錄,剛才在zoo.cfg中配置過,但實際還未存在,所以這裡建立。

[[email protected] conf]# cd ..
[[email protected] zookeeper-3.4.5]# mkdir data

[[email protected] zookeeper-3.4.5]# cd data

[[email protected] data]# vi myid

1

新建並編輯myid檔案,第一臺機器的id為1

(5)將配置好的zookeeper通過SSH協議拷貝到其他兩臺機器上(提前在那兩臺機器上建立/cloud目錄)

scp -r /cloud/zookeeper-3.4.5/ zk2:/cloud/
scp -r /cloud/zookeeper-3.4.5/ zk3:/cloud/

如果這裡提示輸入密碼你先麻煩,你可以配置SSH免密碼登入

(6)拷貝完成後,修改那兩臺機器的相應的myid檔案分別為2、3;(在/cloud/zookeeper-3.4.5/data目錄下)

(7)啟動zookeeper

分別在3臺機器上/cloud/zookeeper-3.4.5/bin目錄下啟動;

[[email protected] bin]# ./zkServer.sh start

來啟動,./zkServer.sh restart(重啟);./zkServer.sh status(檢視狀態);./zkServer.sh stop(關閉)

[[email protected] bin]# ./zkServer.sh status
JMX enabled by default
Using config: /cloud/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: leader

[[email protected] bin]# ./zkServer.sh status
JMX enabled by default
Using config: /cloud/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower
[[email protected] bin]# ./zkServer.sh status
JMX enabled by default
Using config: /cloud/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower

(8)驗證zookeeper的高可靠性:

關掉其中一臺機器上的zookeeper,檢視其他兩臺機器上zookeeper的status