您好,登錄后才能下訂單哦!
MongoDB初始化數據同步:
副本集中的成員啟動之后,就會檢查自身的狀態,確定是否可以從某個成員那里進行同步。如果不行的話,嘗試從其他成員那里進行完整的數據復制。
這個過程就是初始化同步(initial syncing),這幾個步驟可以從mongod日志查看。
1、首先,這個成員會做一些記錄前的準備工作:選擇一個成員作為同步源,在local.me中為自己創建一個標識符,刪除所有已存在的數據庫,以一個全新的狀態進行復制。
在這個過程中,所有現有的數據都會被刪除。應該只在不需要保留現有數據的情況下做初始化同步,因為mongod會首先將現有數據刪除。
2、然后是克隆(cloning),就是將同步源的所有記錄全部復制到本地。通常是最耗時的。
3、然后就進入oplogt同步的第一步,克隆過程中所有的操作都會記錄到oplog中。如果有文檔在克隆過程中被移動了,就可能會被遺漏,導致沒有被克隆,對于這樣的文檔可能
需要重新克隆
4、接下來是oplog同步過程的第二步,用于將第一個oplogt同步中的操作記錄下來
5、到目前為止,本地的數據應該與主節點的某個時間點的數據完全一致,可以創建索引,如果集合比較大,創建索引也會比較耗時
6、如果當前節點的數據仍遠遠落后于同步源,那么oplog同步過程的最后一步就是將創建索引期間的所有操作全部記錄下來,防止該成員成為備份節點
7、現在,當前成員初始化完成,切換到普通同步狀態,這時當前成員就可以成為備份節點
replset initial sync done
replset syncing
replset secondary
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。