1. 程式人生 > >zookeeper的安裝與配置

zookeeper的安裝與配置

1、到官網https://zookeeper.apache.org/releases.html#download下載zookeeper安裝包,我使用的是zookeeper-3.4.13.tar.gz。

2、拷貝到linux伺服器,並解壓。命令:tar –zxvf zookeeper-3.4.13.tar.gz

3、將zookeeper/conf目錄下的zoo_sample.cfg重新命名為zoo.cfg。

備份指令:cp zoo_sample.cfg zoo.cfg

重新命名:mv zoo_sample.cfg zoo.cfg

4、修改dataDir的存放目錄。

5、配置伺服器節點,在zoo.cfg的後面新增如下程式碼(如果只有四臺伺服器):

       server.<伺服器編號,從1開始>=<伺服器主機名>:<當前伺服器與leader伺服器交換資料的埠>:<叢集中選舉leader使用的埠>。如下:

         server.1=yc01:2888:3888

        server.2=yc02:2888:3888

        server.3=yc03:2888:3888

        如果是作為觀察者,不參與投票,則需要在後面加上observer標識。如:

        server.4=yc04:2888:3888:observer

        另外,需要在zoo.cfg中新增宣告。在伺服器節點配置前面加上:

        peerType=observer。說明這個節點作為觀察者。

       initLimit : 此配置表示允許follower連線並同步到leader的初始化時間,它以tickTime的倍數來表示。當超過設定倍數的tickTime時間,則連線失敗。

  syncLimit : Leader伺服器與follower伺服器之間資訊同步允許的最大時間間隔,如果超過次間隔,預設follower伺服器與leader伺服器之間斷開連結。

tickTime : Leader與follower之間互動的基本時間單元(ms)

    dataDir : 儲存zookeeper資料路徑

dataLogDir : 儲存zookeeper日誌路徑,當此配置不存在時預設路徑與dataDir一致

clientPort : 客戶端訪問zookeeper時經過伺服器端時的埠號

maxClientCnxns : 限制連線到zookeeper伺服器客戶端的數量

server.id=host:port:port : 表示了不同的zookeeper伺服器的自身標識,作為叢集的一部分,每一臺伺服器應該知道其他伺服器的資訊。使用者可以從“server.id=host:port:port” 中讀取到相關資訊。在伺服器的data(dataDir引數所指定的目錄)下建立一個檔名為myid的檔案,這個檔案的內容只有一行,指定的是自身的id值。比如,伺服器“1”應該在myid檔案中寫入“1”。這個id必須在叢集環境中伺服器標識中是唯一的,且大小在1~255之間。這一樣配置中,zoo1代表第一臺伺服器的IP地址。第一個埠號(port)是從follower連線到leader機器的埠,第二個埠是用來進行leader選舉時所用的埠。所以,在叢集配置過程中有三個非常重要的埠:clientPort:2181、port:2888、port:3888。

使用單機模式時需要注意,在這種配置方式下,如果zookeeper伺服器出現故障,zookeeper服務將會停止。

6、在資料目錄中建立id標誌。

       在資料目錄下,建立一個myid檔案,內容為server.後面的這個編號

7、將zookeeper目錄傳送到其它伺服器(使用root使用者)。

scp –r /home/navy/zookeeper/zookeeper-3.4.13 [email protected]:’pwd’/ home/navy/zookeeper/

scp –r /home/navy/zookeeper/zookeeper-3.4.13 [email protected]:’pwd’/ home/navy/zookeeper/

8、在其它服務中建立資料目錄和myid檔案。

9、可將zookeeper下的bin目錄新增到環境變數中。

10、傳送配置檔案

       scp /etc/profile [email protected]:/etc/profile、scp /etc/profile [email protected]:/etc/profile

11、啟動zookeeper。zookeeper/bin/zkServer.sh start。

zkServer.sh start|stop|restart|status

12、檢視執行狀態。jps –ml 

可以看到,QuorumPeerMain已經處於執行狀態。

13、執行telnet命令,連線上伺服器之後,執行stat命令進行服務啟動的驗證,如果出現類似下面的資訊則說明服務已經正常啟動,一般情況下不需要驗證,啟動即可正常執行。

14、執行zkServer.sh status。檢視zkServer的執行狀態以及mode是follower還是leader