1. 程式人生 > >zookeeper 半數可用/選舉機制

zookeeper 半數可用/選舉機制

1.半數可用機制,半數可用指的是zk叢集中一半以上的機器正常時叢集才能正常工作

已經啟動了hadoop002(follower),hadoop003(leader)

下面停止hadoop002

 

在hadoop003上檢視zk狀態發現已經不能提供服務,因為2的半數以上至少是2,1不滿足條件

 

2.選舉機制

選舉機制其實就是叢集內部進行投票,只要選出了leader,後期即使加入新的伺服器也不會重新選舉具體如何選舉呢?之前在講啟動zk的時候提到了一個檔案myid,其值越大獲得的票數約多,假設現在有兩臺機器hadoop002,hadoop003,myid分別為2和3,這樣myid較大的hadoop003獲得兩票(自己投自己一票加上hadoop002的一票),順利成為他們中的leader,這樣即使後續加入新的hadoop004也不會改變hadoop003是leader的事實,除非leader崩潰,重新進行選舉