zookeeper 集羣搭建

假設 zookeeper 集羣規劃爲 3 臺機器(zookeeper 推薦集羣機器個數爲奇數),分別命名爲:zk1、zk2 和 zk3。

安裝
  • 解壓 zookeeper 安裝包到 /opt/module/ 目錄下

      tar -zxvf zookeeper-3.4.9.tar.gz -C /opt/module/
    
  • 在 /opt/module/zookeeper-3.4.9/ 目錄下創建 zkData 目錄

      mkdir -p zkData
    
  • 重命名 /opt/module/zookeeper-3.4.9/conf 目錄下的 zoo_sample.cfg 文件爲 zoo.cfg

      mv zoo_sample.cfg zoo.cfg
    
配置 zoo.cfg 文件
  • 配置 zk 數據存儲目錄

    默認情況下,zk 的數據存儲目錄在 /tmp 目錄下,這當服務器重啓時數據會丟失,因此我們需要配置 zk 的數據存儲目錄。

      dataDir=/opt/module/zookeeper-3.4.9/zkData
    
  • 配置集羣

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

    server.A=B:C:D 表示,A 是一個數字,對服務器的唯一標識,須具有唯一性;B 表示 A 服務器的 ip 地址;C 表示這個服務器與集羣中 leader 服務器交換信息的端口號;D 表示如果集羣中的 leader 服務器掛了,需要一個端口來重新進行選舉 leader

  • 創建 myid 文件

    集羣模式下需在 zk 數據存儲目錄下創建一個 myid 文本文件,當前我們配置 zk 數據存儲目錄爲 /opt/module/zookeeper-3.4.9/zkData,所以我們需要在此目下創建 myid 文件。文件內容就是 A 的值,zookeeper 啓東時會讀取該文件,拿到裏面的數據與 zoo.cfg 裏面的配置信息比較從而判斷到底是哪個 server。

      touch myid
      vim myid // 內容爲當前服務機器的標識數字
    

至此基本上就配置好了,配置文件中其他參數可以根據實際需要調整。

複製

把剛纔配置好的 zookeeper 到其他機器上。

scp -r zookeeper-3.4.9/root@zk2:/opt/module
scp -r zookeeper-3.4.9/root@zk3:/opt/module

**PS:**修改 myid 文件

啓動並查看狀態
  • 啓動

    bin/zkServer.sh start
    bin/zkServer.sh start
    bin/zkServer.sh start

  • 查看狀態

    bin/zkServer.sh status

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章