mongodb3.x - mongodb資料遷移(mongorestore,mongoimport)出錯
巴扎黑
巴扎黑 2017-05-02 09:23:08
0
2
866

我現在想將本地的Mongo資料(50GB)遷移到阿里雲上(記憶體1G)。本地版本是v2.4.9,伺服器上是v3.2.11

  • 但是我使用mongodump將資料匯出,傳到阿里雲上後用mongorestore恢復,恢復到1.8%左右就會出錯。應該是記憶體不足引起的。
    錯誤提示Failed: sof.test: error restoring from /root/sof/test.bson.gz: insertion error: EOF

  • 我同時測試了mongoexport/mongoimport指令 都是同樣的錯誤。

  • 我又進行了再次測試:我本地用另一台電腦裝了mongo v3.2版本的,將本地v2.4.9機子上的數據導出來,傳到阿里雲伺服器(mongo v3.2.11)上, mongorestore出現同樣的錯誤。

我在阿里雲上部署用mongo v2.x版本的話,就可以將資料恢復成功。

所以可能是 v2到v3 之間的問題,也可能是v3本身的問題?但是感覺後者可能性不大。
求問,如何解決?

巴扎黑
巴扎黑

全部回覆(2)
洪涛

我剛去試了一下,我從2.6.6 dump出來,然後在2.6.10 和 3.2.11中restore 都是成功的。應該不是版本問題,版本都是向下相容的。
可能是數據問題?
我這沒那麼大的數據,不好測。你換小點表試試。

巴扎黑

仔細看文檔,跨版本的升級是明確禁止的。正確的姿勢是逐版本升級。兩個選擇:

在本地逐版本升級到3.2再導出到遠端

你的情況應該是:2.4.9 -> 2.6.x -> 3.0.x -> 3.2.11
最後再拿3.2.11中導出的資料去mongorestore。

在遠端安裝2.4.9再升級到3.2.11

過程同樣遵循以上流程。
每個版本的升級都要按照對應版本的Upgrade Notes進行,才能確保最終得到正確的結果。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板