記錄一次mongodb在生產環境中從節點出現recovering狀態的問題解決過程。mongodb
進入mongo shell命令行,經過rs.conf()命令查看節點狀態,出現RECOVERING。shell
查看日誌,錯誤日誌截圖:數據庫
大體意思:當前節點數據太陳舊,以致於沒法同步,進入維護模式。命令行
解決辦法:日誌
官方給出兩種方式:第一種是停掉數據庫,直接刪除本地數據,而後啓動mongo數據庫,啓動以後存在一個同步的過程,會很是耗時。再一種方式是停掉數據庫,直接拷貝主節點上的數據,而後再啓動mongo,這樣就不存在數據同步的過程了,可是拷貝主節點上的數據,也有一個問題,就是數據時刻在變化,拷貝過程當中不免會漏掉一些數據。這裏採用第一種方式,先關閉數據庫,刪除本地數據,而後啓動。blog
刪除出現同步錯誤的節點上的數據,而後重啓。同步
啓動成功以後,再次查看節點狀態。im
startup2:表示正在初始化並同步數據。數據