zookeeper說明

ZooKeeper是一個分散式的,開放原始碼的分散式應用程式協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要元件。它是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分散式同步、組服務等。更多詳細的資料請自行http://zookeeper.apache.org/。

Zookeeper的安裝和配置十分簡單, 既可以配置成單機模式, 也可以配置成叢集模式。本文只是簡單介紹了下叢集下的配置步驟(單機模式煩請自行百度)

zookeeper叢集搭建前提

1、請確認至少有兩臺+主機(如果硬體不夠的話,你也可以試用虛擬機器);

2、能夠 常用Linux命令。

第一步:zookeeper下載

下載地址:http://zookeeper.apache.org/releases.html(個人建議選擇清華大學的映象站點進行下載,至於原因相信你懂的)。

清華映象下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 。我選擇的版本是zookeeper-3.4.9。

如果版本不一致可能存在差異。

第二步:zookeeper解壓

下載下來的檔案包為壓縮包zookeeper-3.4.9.tar.gz。請使用tar -xzvf zookeeper-3.4.9.tar.gz

          

第三步:zookeeper環境變數配置

命令:Vi /usr/profile
增加zookeeper的環境變數ZOOKEEPER_HOME的本地路徑,並且增加到PATH中。
 

第四步:zookeeper主機域名對映,配置hosts檔案。

命令:vi /etc/hosts。

 

第五步:zookeeper配置檔案配置

進入zookeeper的conf子資料夾。/conf/zoo_sample.cfg檔案複製一份,並更名為zoo.cfg。增加server節點。

server.1=Slave1: 2888:3888 
server.2=Slave2: 2888:3888 
server.A=B:C:D  其中 A 是一個數字,表示這個是第幾號伺服器;B 是這個伺服器的 ip 地址(如果做了域名對映為域名);C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的埠;D 表示的是萬一叢集中的 Leader 伺服器掛了,需要一個埠來重新進行選舉,選出一個新的 Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。
 

第六步:zookeeper識別檔案建立。建立myid檔案

在dataDir目錄下建立一個myid檔案,然後分別在myid檔案中按照zoo.cfg檔案的server.A中A的數值,在不同機器上的該檔案中填寫相應的值。例如server.1 在當前機器的myid中就只寫上1就可以了。

第七步:Zookeeper配置拷貝到另外一臺機器

在另外一臺機器上試用scp命令遠端拷貝當前Zookeeper資料夾。然後配置對應的環境變數和hosts對映。注意修改myid檔案的值為2。

第八步:Zookeeper啟動驗證

進入bin目錄執行命令“zkServer.sh start”啟動Zookeeper。不同機器上的Zookeeper需要單獨啟動。執行命令“zkServer.sh stop”將會停止Zookeeper。


第九步:zookeeper當前狀態檢視

進入bin目錄執行命令“zkServer.sh status”。

zookeeper領導者(leader):

 

zookeeper跟隨者(follower):

 

第十步:zookeeper動態日誌檢視

進入bin目錄,使用tail –f  zookeeper.out 檢視當前輸入日誌
 

到此,完成Zookeeper叢集配置工作。

後話                                                                                                                           

         如果出現Error contacting service. It is probably not running的錯誤的時候,一般情況下問題存在於防火牆開啟的原因,關閉防火牆就可以了。CentOS 7預設使用的是firewall作為防火牆,使用iptables必須重新設定一下。具體設定可以檢視該文章《Centos7 關閉防火牆