簡體   English   中英

MongoDB分片,仲裁器和集群設置

[英]MongoDB sharding, arbiter and cluster setup

有人可以幫助驗證我們的設置

設置4個節點的MongoDB集群1個主節點(寫入),3個輔助節點(讀取)(如果主節點出現故障),3個輔助節點可以打破束縛並選擇一個輔助節點替換為主節點

  1. 此設置可以工作嗎?
  2. 在這種情況下需要仲裁員嗎?

一旦從一開始就以這種方式進行設置,那么隨着負載的增加,我要做的就是繼續將成對的節點添加到群集中。 (成對添加節點將有助於我們保持性能並減少集群更改的頻率,而且讀取量要大於寫入量,在某些時候,我們還必須考慮擴大寫入量)

非常感謝您的幫助。

謝謝。

是的,需要一個仲裁器,否則,如果2個節點出現故障或不可用,則您將沒有主節點-MongoDB需要嚴格的多數票(> 50%)選出主節點,而在您的情況下,多數票是四分之三(四分之二不大於50%)。 如果添加仲裁器,該數字仍將為3,但是您將能夠擁有一個主節點,其中主節點的數據承載節點數減少2個。

至於原因,請考慮以下可能性:

2個節點與其他2個節點是隔離的-它們仍處於運行狀態,可以運行,但無法相互通信。 現在,“平分”的每一方都有2票,而且沒有打破平局的方式-每一方在對初選的投票方面都同樣有效,沒有嚴格的多數票制,您最終將獲得2票,沒有辦法拆分自行解決后解決寫操作。 在拆分的任何一側添加一個仲裁器,您就不會有這種歧義。

當投票數為偶數時,這種類型的場景會有許多排列,我將不在這里討論。 可以說,運行副本集時的最佳實踐是始終使票數為奇數,從而避免出現這些情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM