Replication
MongoDB 複製初始同步失敗並出現 OplogStartMissing
我目前正在我們的開發環境中測試複製。
我們目前的(主)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 大小或暫停應用程序(如果可能)。
我將探勘一張舊票並檢查同步失敗時出現的錯誤。