MongoDB 副本集成員狀態的解釋

2021-10-23 09:37:03 字數 2552 閱讀 2406

副本集的每個成員都有乙個狀態。

狀態號

狀態名稱

釋義

說明

0startup

啟動尚未成為任何集群的活躍成員。所有成員都以這種狀態啟動。 mongod在啟動時會解析副本集配置文件。

1primary

主處於primary狀態的成員是唯一可接受寫操作的成員。

有資格投票。

2secondary

輔助處於secondary狀態的成員正在複製資料儲存。

有資格投票。

3recovering

恢復成員執行啟動自檢,或從 完成回滾或重新同步 過渡。

有資格投票。

5startup2

啟動2該成員已加入集群,並且正在執行初始同步。

有資格投票。

6unknown

未知從集群中另乙個成員的角度看,該成員的狀態未知。

7arbiter

仲裁仲裁不複製資料,僅存在於選舉中。

有資格投票。

8down

掉線從該集群的另乙個成員看,該成員無法訪問。

9rollback

回滾該成員正在積極執行回滾。

有資格投票。

無法從該成員讀取資料。從4.2版開始,當成員進入rollback狀態時,mongodb將終止所有正在進行的使用者操作。

10removed

已刪除此成員曾經在副本集中,但隨後被刪除。

處於primary狀態的成員接受寫操作。

乙個副本集一次最多具有乙個主副本。

secondary成員在選舉後成為主成員[1]。

primary狀態的成員有資格投票。

處於secondary狀態的成員複製主資料庫的資料集,並且可通過配置接受讀取操作。

輔助節點有資格在選舉中投票,如果主節點不可用,則可以選舉為primary。

處於arbiter狀態的成員不複製資料或接受寫操作。

他們有資格投票,僅在選舉中打破平局。

如果副本集的表決成員數將是偶數,並且副本集可能受困,則副本集應僅具有處於arbiter狀態的成員。

任何副本集中最多只能配置乙個仲裁。有關使用仲裁的注意事項,請參閱副本集仲裁

。有關核心狀態的更多資訊,請參見副本集成員

。副本集的每個成員都以startup狀態啟動。然後mongod載入該成員的副本集配置資訊,並將其狀態轉換為startup2或arbiter。 startup中的成員尚未獲得任何投票集的公認成員資格,因此沒有資格投票。

mongod完成載入該成員的配置後,副本集中的每個資料承載成員都會進入startup2狀態,這時它將成為副本集中的活躍成員並可以投票。然後,成員決定是否進行初始同步。如果成員開始初始同步,則該成員將保留在startup2中,直到複製所有資料並構建所有索引為止。之後,成員轉換為recovering。

當副本集的成員尚未準備好接受讀取時,它將進入recovering狀態。 recovering狀態可能在正常操作期間發生,並不一定反映錯誤情況。處於recovering狀態的成員有資格在選舉中投票,但沒有資格進入primary狀態。

在複製了足夠的資料以保證用於客戶端讀取的資料的一致檢視之後,成員從recovering過渡到secondary。 recovering和secondary狀態之間的唯一區別是recovering禁止客戶端讀取,而secondary允許它們讀取。 secondary狀態不能保證任何有關主資料過時問題。

由於過載,輔助副本可能遠遠落在副本集的其他成員之後,因此它可能需要與副本集中的其餘成員重新同步。發生這種情況時,成員將進入recovering狀態,並且需要手動干預。

每當副本集替換一次選舉中的主副本時,舊的主副本可能包含未複製到輔助成員的文件。在這種情況下,舊的主要成員將還原這些寫入。在回滾期間,成員將具有rollback狀態。處於rollback狀態的成員有資格在選舉中投票。

從4.2版開始,當成員進入rollback狀態時,mongodb將終止所有正在進行的使用者操作。

處於任何錯誤狀態的成員都無法投票。

從未將狀態資訊傳遞給副本集的成員處於unknown狀態。

副本集的其餘成員將失去與副本集的連線的成員視為down。

從副本集中刪除的成員進入「removed」狀態。 當成員進入removed狀態時,日誌將使用replset removed訊息條目記錄此事件。

[1]在某些情況下,副本集中的兩個節點可能會短暫地認為它們是主要節點,但是最多,其中乙個節點將能夠完成寫入問題。 可以完成寫入的節點是當前主節點,另乙個節點是以前的主節點,通常由於網路分割槽而尚未意識到其降級。 發生這種情況時,儘管已請求前乙個主伺服器讀取優先順序,但連線到前乙個主伺服器的客戶端仍可能會觀察到過時的資料,並且對前乙個主伺服器的新寫入最終將回滾。

MongoDB副本集成員狀態

副本集成員狀態 副本集的每個成員都有乙個狀態,反映了它在集合中的配置情況。數字 名稱 狀態描述 startup 還不是任何集合的活動成員。所有的成員啟動在該狀態。在startup狀態mongod解析副本集配置文件。primary 處於primary狀態的成員是唯一能接受寫操作的成員。secondar...

mysql副本集 MongoDB副本集

一 節點型別standard 常規節點,它儲存乙份完整的資料副本,參與選舉投票,有可能成為活躍節點。passive 儲存了完整的資料副本 一 節點型別 standard 常規節點,它儲存乙份完整的資料副本,參與選舉投票,有可能成為活躍節點。passive 儲存了完整的資料副本,參與投票,不能成為活躍...

mysql副本集 mongoDB副本集的搭建

環境簡介 192.168.1.151 fedoraserver 用作副本集的主庫,已經有資料 192.168.1.152 fedoraserver 從庫,空例項 192.168.1.153 fedoraserver 從庫,空例項 mongodb的副本集和mysql基於gtid的多源三例項迴圈主從即 ...