zookeeper偽分布式搭建
阿新 • • 發佈:2019-04-09
客戶 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下
進入到zookeeper配置文件目錄中(/opt/zookeeper/conf),創建三個配置文件,zoo1.cfg, zoo2.cfg, zoo3.cfg,配置文件可以由默認的zoo_sample.cfg修改而成,文件內容如下
zoo1.cfg:
創建相應的數據目錄和日誌目錄
在dataDir指定的文件夾中創建文件myid,myid文件內容為對應server的id號,範圍0-255
添加PATH環境變量
使用不同的配置文件,啟動zookeeper
註意事項
當前穩定版為3.4.14
# tar -xf zookeeper-3.4.14.tar.gz -C /opt/
# cd /opt/
# mv zookeeper-3.4.14/ zookeeper
# 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}
# echo 1 > opt/zookeeper/Server1/data/myid
# echo 2 > opt/zookeeper/Server2/data/myid
# echo 3 > opt/zookeeper/Server3/data/myid
# vi /etc/profile.d/zookeeper.sh
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME
# . /etc/profile.d/zookeeper.sh
# 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偽分布式搭建