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]
找到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