zookeeper的集群搭建

獲取包地址:官網(wǎng)地址


啟動需要java環(huán)境變量

解壓安裝包后
cd /usr/local/zookeeper-3.4.6/conf/
cp zoo_sample.cfg   zoo.cfg
配置文件內(nèi)容:
tickTime=2000
initLimit=10
syncLimit=5
#數(shù)據(jù)目錄,也是文件/usr/local/zookeeper-3.4.6/data/myid存放的目錄
dataDir=/usr/local/zookeeper-3.4.6/data/  
clientPort=2182
#集群節(jié)點(diǎn)數(shù)
server.1=10.10.10.7:2888:3888
server.2=10.10.10.8:2888:3888
server.3=10.10.10.9:2888:3888
# 指定清理頻率,單位是小時,默認(rèn)是0,表示不開啟自己清理功能。
autopurge.purgeInterval=6
# 和上面的參數(shù)搭配使用,指定需要保留的文件數(shù)目,默認(rèn)是保留3個。
autopurge.snapRetainCount=5

每個節(jié)點(diǎn)分別寫入:注意myid 和節(jié)點(diǎn)IP對應(yīng),我搞錯過一次,一直失敗。

10.10.10.7    echo 1 > /usr/local/zookeeper-3.4.6/data/myid
10.10.10.8    echo 2 > /usr/local/zookeeper-3.4.6/data/myid
10.10.10.9    echo 3 > /usr/local/zookeeper-3.4.6/data/myid

啟動:

3臺主機(jī)上分別啟動:
sh bin/zkServer.sh  start
備注:在集群啟動過程中,當(dāng)有一臺zookeeper節(jié)點(diǎn)s1啟動完成后,此時集群中只有一個節(jié)點(diǎn)無法進(jìn)行l(wèi)eader的選舉。
當(dāng)?shù)诙€節(jié)點(diǎn)s2啟動成功后,此時兩個節(jié)點(diǎn)可以正常通信,進(jìn)入leader的選舉過程

重啟命令:
sh bin/zkServer.sh restart
查看節(jié)點(diǎn)狀態(tài):
sh bin/zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
查看同步狀態(tài):
 [root@10-7 zookeeper-3.4.6]# echo mntr|nc 10.10.10.7 2182
zk_version      3.4.6-1569965, built on 02/20/2014 09:09 GMT
zk_avg_latency  0
zk_max_latency  335
zk_min_latency  0
zk_packets_received     1424995
zk_packets_sent 1425026
zk_num_alive_connections        5
zk_outstanding_requests 0
zk_server_state follower
zk_znode_count  1196   
zk_watch_count  145
zk_ephemerals_count     24
zk_approximate_data_size        109309
zk_open_file_descriptor_count   36
zk_max_file_descriptor_count    62235

問題1:狀態(tài)不對


不管它直接啟動下一個節(jié)點(diǎn),啟動第二個節(jié)點(diǎn)后,第二個會選舉自己為leader ,它檢測到第一個節(jié)點(diǎn)后,第一個節(jié)點(diǎn)自己會變成follower

問題2:myid和主機(jī)IP不對應(yīng)。

WARN Cannot open channel to 2 at election address /0.0.0.0:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager) 
java.net.ConnectException: Connection refused (Connection refused) 
 at java.net.PlainSocketImpl.socketConnect(Native Method) 
 at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
 at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:204) 
 at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
 at java.net.Socket.connect(Socket.java:607) 
 at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558) 
 at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:534) 
 at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$Work

日志切割功能:

修改 conf/log4j.properties和 bin/zkEnv.sh (重啟生效)


conf/log4j.properties

bin/zkEnv.sh
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Zookeeper集群搭建比較簡單,主要有以下幾個步驟: 下載zookeeper,解壓創(chuàng)建zoo.cfg,更改相關(guān)...
    RantLing閱讀 270評論 0 0
  • Zookeeper有兩種運(yùn)行模式:單機(jī)模式和集群模式。因?yàn)閱螜C(jī)模式只是在開發(fā)測試時使用,所以這里就不介紹單機(jī)模式的...
    OverCoding閱讀 137評論 0 0
  • 1. 下載并解壓ZooKeeper-3.4.10.tar.gz到"/opt"路徑下 2. 在$ZOOKEEPER_...
    背麻袋的袋鼠閱讀 232評論 0 0
  • 通過 VMware ,我們安裝了三臺虛擬機(jī),用來搭建 zookeeper 集群,虛擬機(jī)網(wǎng)絡(luò)地址如下: hostna...
    全能程序猿閱讀 466評論 0 0
  • 目錄 集群簡介 環(huán)境配置描述 搭建步驟 配置參數(shù)詳解 集群簡介 Zookeeper 作為一個分布式的服務(wù)框架,主要...
    Singer_Au閱讀 13,969評論 0 3

友情鏈接更多精彩內(nèi)容