2015-08-13 20 views
0

試圖一次啓動一個節點集羣,而我對引導期望值有點困惑。領隊中的引導期望值= 1導致羣集中的怪異行爲

它被設置方式是,領事啓動自舉,期待,然後開始後consul join是跑

目前,該部署將引導,希望有它的集羣中設置爲節點的數量,並在該號碼後選出領導人。

但是,當bootstrap-expect設置爲1(思考過程使我們可以擁有一個集羣而不用等待所有節點)時,會發生一些奇怪的事情。

因此,首先,每個節點都認爲它是領導者 - 這是自引導期望設置爲1以後所期望的。但是,在領事加入彼此之後,新的集羣領導者不會被選舉 - 發生的事情很奇怪 - 集羣中的每個節點仍然認爲自己是集羣領導者。

爲什麼節點在加入集羣時選出一個新的領導者?或者至少尊重現有的領導者?

回答

1

這是稱爲Split Brain的條件,您已「有意」創建。每個服務器都認爲它是領導者,並且擁有自己的日誌版本,並且每個版本都不相互協調。斯普利特腦子很難恢復。由於服務器無法就羣集狀態應該達成一致,所以他們無法確定新領導者應該是誰,而且他們在沒有成功選舉的情況下繼續下去。你可以閱讀Raft瞭解更多關於爲什麼。

相關問題