Replication

MongoDB 複製初始同步失敗並出現 OplogStartMissing

  • February 15, 2020

我目前正在我們的開發環境中測試複製。

我們目前的(主)mongo 實例有大約 70-80 GB 的數據。我創建了一個新實例並將其添加到副本集中。

同步集合大約需要 4 個小時,此時它開始播放 oplog 以趕上主節點上的寫入。但是這樣做rs.printSlaveReplicationInfo()表明從節點越來越落後於主節點,最終失敗並出現以下錯誤:

OplogStartMissing: error fetching oplog during initial sync :: caused by :: Our last optime fetched: { ts: Timestamp(1581379449, 5879), t: 4 }. source's GTE: { ts: Timestamp(1581379449, 20317), t: 4 }

此時初始同步重新開始。master和slave都使用4.2版本

你的oplog有多大?

可能是因為在初始同步完成之前同步開始,oplog 正在填滿並覆蓋操作?如果是這種情況,新的二級將永遠趕不上。我以前遇到過這個錯誤,但現在不記得確切的錯誤了。

使用檢查 oplog 起點/終點

rs.printReplicationInfo()

如果是這種情況,請增加 oplog 大小或暫停應用程序(如果可能)。

我將探勘一張舊票並檢查同步失敗時出現的錯誤。

引用自:https://dba.stackexchange.com/questions/259409