您好,登錄后才能下訂單哦!
副本集成員狀態
副本集的每個成員都有一個狀態,反映了它在集合中的配置情況。
數字 | 名稱 | 狀態描述 |
0 | STARTUP | 還不是任何集合的活動成員。所有的成員啟動在該狀態。在STARTUP狀態mongod解析副本集配置文檔。 |
1 | PRIMARY | 處于PRIMARY狀態的成員是唯一能接受寫操作的成員。 |
2 | SECONDARY | 處于SECONDARY狀態的成員復制數據存儲。數據可用于讀,盡管可能比較舊。 |
3 | RECOVERING | 可以選舉。成員要么實施啟動自檢測,或完成回滾或重新同步的轉換。 |
5 | STARTUP2 | 成員加入了集合,正運行初始化同步。 |
6 | UNKNOWN | 成員的狀態,正如從集合的另一個成員中所看到的,未知。 |
7 | ARBITER | 仲裁不復制數據,而僅僅參與選舉。 |
8 | DOWN | 該成員,正如從集合的立即你跟一個成員所見,不可達。 |
9 | ROLLBACK | 該成員正在實施回滾。數據不可讀。 |
10 | REMOVED | 成員曾今在副本集但隨后被移除。 |
狀態
核心狀態
PRIMARY
處于PRIMARY狀態的成員接受寫操作。一個副本集每次最多只有一個主成員。在一次選舉后,一個SECONDARY狀態成員成為主成員。處于PRIMARY狀態的成員有資格選舉。
SECONDARY
處于SECONDARY狀態的成員復制主成員的數據集合,并可以被配置為接受讀操作。輔助成員有資格在選舉中投票,如果主成員不可用,會被選舉為PRIMARY狀態。
ARBITER
處于ARBITER狀態的成員不復制數據,也不接受寫操作。它們有資格選舉,僅僅存在于選舉中決勝負。如果集合要么有大量的成員,并能夠參與決勝選舉,否則副本集應該只有一個成員處于ARBITER狀態。在任何副本集中最多只有一個仲裁被配置。
查看副本集成員了解更多關于核心狀態的信息。
其他狀態
STARTUP
副本集的每個成員以STARTUP狀態啟動。Mongod然后加載成員的副本集配置,成員的狀態轉化為STARTUP2。在STARTUP狀態的成員沒有資格選舉,因為它們不被人為是任何副本集的成員。
STARTUP2
一旦mongod加載成員配置完成,副本集的每個成員就進入STARTUP2狀態,在此時它開始成員副本集的一個活動成員。成員然后決定是否需要初始化同步。如果一個成員開始初始化同步,成員保持STARTUP2狀態直到所有數據拷貝完成所有索引創建完成。之后,成員轉換為RECOVERING狀態。
RECOVERING
當副本集成員不準備接受讀取時,它進入RECOVERING狀態。RECOVERING狀態發生在正常操作期間,不必顯示一個錯誤條件。處于RECOVERING狀態的成員有資格在選舉中投票,但是沒有資格進入PRIMARY狀態。
在復制足夠的數據給客戶端所需讀取數據的一致性視圖,成員便從RECOVERING狀態轉為SECONDARY狀態。在RECOVERING和SECONDARY狀態之間的唯一區別是,RECOVERING阻止客戶端讀取,SECONDARY運行讀取。SECONDARY狀態并不保證主成員數據陳舊化。
關于負載,一個輔助成員可能會遠遠落后于副本集的其他成員,以至于它可能需要重新同步到副本集。當這種情況發生時,成員進入RECOVERING狀態,并需要手工干預。
錯誤狀態
處于錯誤狀態的成員不能選舉。
UNKNOWN
從沒交流狀態信息到副本集的成員會處于UNKNOWN狀態。
DOWN
丟失到副本集連接的成員被集合的剩余成員看作為DOWN狀態。
REMOVED
從副本集移除的成員進入REMOVED狀態。當成員進入REMOVED狀態,日志將會標記replset REMOVED消息事件。
ROLLBACK
當副本集在選舉中替換掉主成員,舊的主成員可能包含不會復制到輔助成員的文檔。在這種情況下,舊的主成員反轉這些寫操作。在回滾期間,成員將保持ROLLBACK狀態。
FATAL
處于FATAL狀態的成員觸發了一個不可恢復錯誤。成員必需關閉并重啟,可能還需要重新同步。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。