1. 程式人生 > 其它 >筆記6:zookeeper偽叢集模式雲伺服器搭建

筆記6:zookeeper偽叢集模式雲伺服器搭建

技術標籤:筆記zookeeperzookeeper

  1. clientPort端⼝
    如果在1臺機器上部署多個server,那麼每臺機器都要不同的 clientPort,⽐如 server1是2181,server2 是2182,server3是2183

  2. dataDir和dataLogDir
    dataDir和dataLogDir也需要區分下,將資料⽂件和⽇志⽂件分開存放,同時每個server的這兩變數所對應的路徑都是不同的

  3. server.X和myid
    server.X 這個數字就是對應,data/myid中的數字。在3個server的myid⽂件中分別寫⼊了1,2,3,那 麼每個server中的zoo.cfg都配 server.1 server.2,server.3就⾏了。因為在同⼀臺機器上,後⾯連著的2 個端⼝,3個server都不要⼀樣,否則端⼝衝突

  4. 建立⽬錄zkcluster

    mkdir zkcluster
    
  5. 解壓 zookeeper-x.x.xx.tar.gz到zkcluster⽬錄下

    tar -zxvf zookeeper-3.6.2.tar.gz
    
  6. 改變名稱

    mv zookeeper-3.6.2 zookeeper01
    
  7. 複製並改名

    cp -r zookeeper01/ zookeeper02
    cp -r zookeeper01/ zookeeper03
    
  8. 分別在zookeeper01、zookeeper02、zookeeper03⽬錄下建立data及logs⽬錄

    mkdir data
    cd data
    mkdir logs
    
  9. 修改配置⽂件名稱

    cd conf
    mv zoo_sample.cfg zoo.cfg
    
  10. 配置每⼀個Zookeeper 的dataDir(zoo.cfg) clientPort 分別為2181 2182 2183

    clientPort=2181
    dataDir=/usr/local/zkcluster/zookeeper01/data
    dataLogDir=/usr/local/zkcluster/zookeeper01/data/logs
    
    clientPort=2182
    dataDir=/usr/local/zkcluster/zookeeper02/data
    dataLogDir=/usr/local/zkcluster/zookeeper02/data/logs
    
    clientPort=2183
    dataDir=/usr/local/zkcluster/zookeeper03/data
    dataLogDir=/usr/local/zkcluster/zookeeper03/data/logs
    
  11. 配置叢集
    (1)在每個zookeeper的 data ⽬錄下建立⼀個 myid ⽂件,內容分別是1、2、3 。這個⽂件就是記錄每個伺服器的ID

    touch myid
    

    (2)在每⼀個zookeeper 的 zoo.cfg配置客戶端訪問端⼝(clientPort)和叢集伺服器IP列表。

    server.1=121.4.55.123:2881:3881 
    server.2=121.4.55.123:2882:3882 
    server.3=121.4.55.123:2883:3883 
    quorumListenOnAllIPs=true
    
    • server.伺服器ID=伺服器IP地址:伺服器之間通訊端⼝:伺服器之間投票選舉端⼝。
    • quorumListenOnAllIPs=true: 在雲伺服器(阿里雲、騰訊雲)上部署Zookeeper叢集模式時要加,
      否則會報錯:Error contacting service. It is probably not running.
    • quorumListenOnAllIPs=true這個引數潛在的問題:主要是會影響ZAB協議和FastLeaderElection協議。
      官網原文如下

    quorumListenOnAllIPs
    When set to true the ZooKeeper server will listen for connections from its peers on all available IP addresses, and not only the address configured in the server list of the configuration file. It affects the connections handling the ZAB protocol and the Fast Leader Election protocol. Default value is false

  12. 啟動成功
    zookeeper01:
    zookeeper01
    zookeeper02:
    zookeeper02
    zookeeper03:
    zookeeper03