1. 程式人生 > >Zookeeper叢集快速搭建

Zookeeper叢集快速搭建

                                                        Zookeeper叢集快速搭建

 

1.cd /usr/local/zookeeper/conf(如在192.168.212.101伺服器)
mv zoo_sample.cfg zoo.cfg
修改conf: vi zoo.cfg 修改兩處
(1) dataDir=/usr/local/zookeeper/data(注意同時在zookeeper建立data目錄)
(2)最後面新增(基數臺伺服器)
server.0=192.168.212.101:2888:3888
server.1=192.168.212.102:2888:3888
server.2=192.168.212.103:2888:3888

Ip:心跳埠:通訊埠

2.建立伺服器標識即myid

在dataDir 目錄下建立myid檔案,內容為0 ,對應server.0(如在192.168.212.101伺服器)

3.複製zookeeper

將zookeeper複製到伺服器192.168.212.102,192.168.212.103

並將myid修改對應的值

 

4.啟動zookeeper

啟動3臺機器,命令:bash /usr/local/zookeeper/bin/zkServer.sh start

 

5.檢視狀態

bash /usr/local/zookeeper/bin/zkServer.sh status

 

就可以看到一個leader和兩個follower

 

問題:

  1. 叢集時,是不是配置server.0的機器就是leader ,其他為follower?

==》不一定,server.0,成為leader的可能性還是比較低的,除非server.0的事務是最新的,如果事務ID一樣,有server.0,server.1,server.2這3個節點,依次啟動server.1更可能成為leader

 

  1. 叢集啟動成功後,是不是follower的資料會被清除?

==》 不一定,會同步主的資料,如果資料一致並不會,如果他本來是leader,重啟後變成follower,但有部分資料沒有同步其他的節點(大多數節點),這時候follower會把多餘的資料清空

 

3.如果只有兩臺zookeeper,當leader的機器A掛掉之後,那麼follower機器B是不是不能變為leader?

==》只有兩個節點,leader掛了,follower不會成為leader,而是整個叢集都掛了

只有當leader機器A又重新啟動成功之後,follower機器B又可以工作了。