1. 程式人生 > >zookeeper偽分布式搭建

zookeeper偽分布式搭建

客戶 export 設置 tar rep cli 目錄 不同 地址

  • 獲取zookeeper二進制軟件包,地址[https://www.apache.org/dyn/closer.cgi/zookeeper/](https://www.apache.org/dyn/closer.cgi/zookeeper/
    當前穩定版為3.4.14
  • 解壓文件到自定義目錄,這裏我解壓到/opt/zookeeper下
    # tar -xf zookeeper-3.4.14.tar.gz -C /opt/
    # cd /opt/
    # mv zookeeper-3.4.14/ zookeeper
  • 進入到zookeeper配置文件目錄中(/opt/zookeeper/conf),創建三個配置文件,zoo1.cfg, zoo2.cfg, zoo3.cfg,配置文件可以由默認的zoo_sample.cfg修改而成,文件內容如下
    zoo1.cfg:
    # grep -E -v ‘^#.*|^$‘ zoo1.cfg
    tickTime=2000                     #CS之間的心跳時間,默認為2秒
    initLimit=10                      #集群中follower服務器和leader服務器初始連接時能容忍的最多心跳數
    syncLimit=5                       #集群中follower服務器和leader服務器之間請求和應答最多能容忍的心跳數
    dataDir=/opt/zookeeper/Server1/data    #該目錄用來存放myid信息和一些版本等信息
    dataLogDir=/opt/zookeeper/Server1/log  #日誌目錄
    clientPort=2181                   #客戶端連接的端口,默認是2181
    maxClientCnxns=6000               #最大連接數
    maxSessionTimeout=60000           #會話超時時長
    server.1=test3:2888:3888          #集群配置信息server.N = HHH:A:B  N服務器編號,HHH服務器地址,A表示flower跟leader的通信端口,默認2888, B表示選舉端口,默認3888
    server.2=test3:2788:3788
    server.3=test3:2688:3688

    zoo2.cfg:

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/zookeeper/Server2/data
    dataLogDir=/opt/zookeeper/Server2/log
    clientPort=2182
    server.1=test3:2888:3888
    server.2=test3:2788:3788
    server.3=test3:2688:3688

    zoo3.cfg

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/zookeeper/Server3/data
    dataLogDir=/opt/zookeeper/Server3/log
    clientPort=2183
    server.1=test3:2888:3888
    server.2=test3:2788:3788
    server.3=test3:2688:3688
  • 創建相應的數據目錄和日誌目錄
    # mkdir -pv /opt/zookeeper/Server{1,2,3}/{data,log}
  • 在dataDir指定的文件夾中創建文件myid,myid文件內容為對應server的id號,範圍0-255
    # echo 1 > opt/zookeeper/Server1/data/myid 
    # echo 2 > opt/zookeeper/Server2/data/myid 
    # echo 3 > opt/zookeeper/Server3/data/myid 
  • 添加PATH環境變量
    # vi /etc/profile.d/zookeeper.sh
    export ZOOKEEPER_HOME=/opt/zookeeper
    export PATH=$PATH:$ZOOKEEPER_HOME
    # . /etc/profile.d/zookeeper.sh
  • 使用不同的配置文件,啟動zookeeper
    # zkServer.sh start /opt/zookeeper/conf/zoo1.cfg
    # zkServer.sh start /opt/zookeeper/conf/zoo2.cfg
    # zkServer.sh start /opt/zookeeper/conf/zoo3.cfg
  • 查看zookeeper狀態

    # zkServer.sh status /opt/zookeeper/conf/zoo1.cfg
    # zkServer.sh status /opt/zookeeper/conf/zoo2.cfg
    # zkServer.sh status /opt/zookeeper/conf/zoo3.cfg
  • 註意事項
    • 三個端口號不要設置為相同
    • 每個dataDir目錄中都要有myid文件
    • 每個myid文件裏都要對應一個zoo.cfg中server後跟的數字

    zookeeper偽分布式搭建