2013-05-17 63 views
2

replica set architecture文章中,建議(最小)配置由一個主要成員和兩個輔助成員(或一個輔助和一個輕量級仲裁器)組成。因此兩個投票成員對MongoDB副本集中投票成員的數量感到困惑?

不過幾行字下面你可以閱讀(這是基於該「順利選舉」):

當添加額外的成員,請確保以下建築 條件:

  • 的集有奇數個投票成員。

    如果您擁有偶數個投票成員,請部署一個仲裁器來創建一個奇數。

如果我是正確的二是即使,即建議的最低配置是錯誤的!甚至有多少選民可能導致「不順利」的選舉?複製品投票方面的「不順利」是什麼?

更多相關內容:即使算上主要的選民(因此三個選民,奇數),如果小學生倒下,你最終會有兩名選民。小學如果投票失敗,如何投票?

+0

你有三張你所描述的選票。如果一個成員失敗,那麼它就不能投票。這就像投票否,或棄權。成爲主要的次要需求是獲得2票(絕大多數票)。由於它可以得到兩票,它將成爲新的小學。 –

回答

1

在副本集架構文章建議的(最小) 配置由:一個主構件和兩個次級那些 (或一個仲和輕質仲裁器)。因此有兩個投票 成員。

這是不正確的。小學,中學和仲裁員是三票。

因此你有一個奇數的選票。因此,如果一個節點關閉,另外兩個節點是多數,並且可以選擇新的主節點。

你不應該有一個偶數的原因是,如果是網絡分區,你不會在網絡分區的每一邊都有50%的投票成員 - 如果發生這種情況,你將不會有即使副本集的每個成員實際上都已啓動,也是主要的。

+1

仍然無法獲得它:如果主要發生故障(使用一個主控和兩個奴隸),最終會有兩名選民。小學如果投票失敗,如何投票?另外,AFAIK中的一個數據優先級或新鮮度成爲新的主數據:網絡分區如何成爲問題? – gremo

+1

票數取決於總配置的副本集,而不是「up」的數量。如果您配置三個節點,則存在三個選票。如果其中一個或兩個失敗,這並不重要 - 這相當於他們沒有爲第三個投票。 –

+0

忘記我的最後一條評論,我沒有想到,儘管如果其中兩個人因爲法定人數沒有大多數投票成員在線而倒閉,我確實無所謂,但我已經測試了這一個;甚至在論壇上發佈了它,scot證實這是因爲沒有大部分配置的副本在線投票... – Sammaye