2017-06-21 46 views
1

我從6個節點創建了一個集羣。在銪west1 3個節點和在歐盟west2 3個節點I設置的局部性對於每個組等的節點:--locality =區域=歐洲,數據中心= west1 我還設置副本至6具有的所有範圍和所有數據在每個節點上。 如果數據中心之間的連接丟失,整個集羣出現故障將會發生什麼? 我想殺3個節點的數據中心之一,羣集不工作,因爲大多數節點下降和仲裁是小於4 是否有可能使2個datacentes與當地仲裁2/3工作多個數據中心複製和本地仲裁?

我也起到了位,且重複設置,有時簇是健康的,如果我殺從6 3個節點,是我能夠寫入到簇。有時我只能從羣集中讀取數據。集羣正在處理6個5和3個節點的副本。仍然用這個支付,但如果有人可以給我更多的信息將是非常有益的。

爲了能夠跨越datacentes複製是非常酷的功能,但如果我失去了整個集羣時,數據中心的人下來至少毀掉整個好主意,對我來說。

回答

0

蟑螂DB要求複製品的大部分才能完全運作,這意味着> half而不是>= half。爲了生存完整的數據中心或區域的損失,您必須的DC /地區,而不是兩個。嘗試在三個區域的每一箇中運行兩個節點,而不是在兩個區域中的三個節點。

是否有可能使數據中心2 2/3

,但不得與本地仲裁工作單個表(因爲這將是無法保證一致性,如果每個數據中心都能夠採取行動與另一個隔離)。您已將數據配置爲跨所有六個副本進行復制,這意味着需要四個副本才能達到法定人數。如果您希望每個數據中心都能夠獨立於另一個數據中心進行操作,則需要兩個單獨的表,每個表配置爲位於其中一個數據中心內。

+0

公式爲'(n-1)/ 2',其中'n'是節點的數量。只要該數字爲0或更高,羣集就會存活。而且,數字越高越好! – eduncan911

0

感謝您的回答只是爲了澄清一些事情。但看起來你有我的觀點,我想完成什麼。 但據我瞭解,如果我有2個不同DC中的2x3節點,如果一個DC發生故障。我需要至少4個法定人數的3個活動節點。 N/2 +1。 所以如果我有3x3的話我可以失去一個DC,因爲如果我有2個DC的話,我會有一個法定人數。 最後一個問題,如果我沒有將複製設置爲9,如果我在一個DC中鬆散了3個節點,某些範圍將不可用?