ES的選主機制

2021-09-25 03:13:51 字數 604 閱讀 4509

es集群中必須 有且只有乙個master節點,如果出現了兩個master節點(腦裂問題),那麼就出問題了,由哪乙個master節點來管理集群呢,傻傻的分不清楚,是不!

那麼怎樣來進行master的選舉呢?

主要根據以下三個方面來進行es的選舉:

對有資格成為master的節點進行nodeid排序,每一次選舉都將自己識別的節點進行排序,然後選擇第一位的節點,暫且認為它是主節點(注意:暫定)

如果某乙個幾點的投票數達到了 n/2+1,並且此節點自己也投給了自己一票,那麼就選舉這個節點為主節點。否則,重新選舉。

對於brain split問題,需要把候選master節點最小值設定為可以成為master節點數n/2+1(quorum )

如下圖所示為es選主機制的**:

如果因為斷網的問題,將集群分為了兩個部分,那麼這兩個部分只能在自己的圈子裡去選擇主節點。因為,左邊的部分只有兩個節點 沒有達到n/2+1,所以很遺憾,左邊的部分沒有資格去產生主節點。所以,就不會出現選擇兩個主節點的問題。

同理,右邊的部分符合條件,則可以選擇主節點。

17 kafka分割槽選主機制

leader的選擇方法非常多,大資料領域常用的的選舉方法有如下集中 1 zab zookeeper使用 a 快速leader選舉 leader election b 發現或者版本建立 epoch establish c 同步 follower從leader同步資料和狀態 d 廣播 leader廣播資...

zookeeper的選主機制的實現過程以及原理

zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,它包含乙個簡單的原語集,分布式式應用程式可以基於它實現同步服務,配置維護和命名服務等。zookeeper是hadoop的乙個子專案。在分布式應用中,由於部分開發者不能很好的使用鎖機制,以及基於訊息的協調機制不適合在某些應用中使用,...

Qookeeper集群選主機制究竟如何實現

zookeeper作為分布式協調工具,具有很廣泛的應用,zookeeper集群選主機制究竟如何實現?下面來進行分析。在zookeeper集群中,主要分為三者角色,而每乙個節點同時只能扮演一種角色,這三種角色分別是 1 leader 接受所有follower的提案請求並統一協調發起提案的投票,負責與所...