Elasticsearch的選舉


 1、bully算法
  通過如下幾個步驟
    1.啓動節點ping協調器,獲取當前集羣狀態(節點信息,集羣名稱等),若是協調器沒有啓動一直到ping通爲止
    2.不管能ping通,都會拿到對象activeMaster現役master
    3.判斷activeMaster的數量,0說明當前集羣沒有master,1表示當前集羣已經選舉完畢.
    4.若是爲1,當前節點啓動Bully算法邏輯結束;若是爲0,進入第5步(總會中止在這裏)
    5.啓動時發現沒有現役master,將集羣中全部的master節點放到candidate的候選名單中.候選名單大於等於最小master數量,小於最小master數量.
    6.若是candidate中大於等於master最小數量,從其中選舉一個id值最小的節點放到activeMaster中,暫定爲master,若是小於最小master轉回第一步.
 2、master宕機邏輯
    在集羣中,任意節點的變化,都會致使全部人記錄的candidate/activeMaster發生變化
    ○ activeMaster發生變化(1-0),主節點宕機
    從新進行選舉
    ○ candidate發生變化,現役master正常,其餘備選有宕機現象;
  從新判斷集羣的最小個數(activeMaster+candidate個數>=最小master)算法

相關文章
相關標籤/搜索