我现在想将本地的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出现同样的错误。
所以可能是 v2到v3 之间的问题,也可能是v3本身的问题?但是感觉后者可能性不大。
求问,如何解决?
2.6.6 からダンプして、2.6.10 と 3.2.11 で正常に復元してみました。これはバージョンの問題ではありません。バージョンはすべて下位互換性があります。
データの問題かもしれません?
それほど大きなデータがないので、テストするのは困難です。小さめの時計に変えてみてください。
ドキュメントを注意深く読んでください。バージョンを越えたアップグレードは明らかに禁止されています。正しいアプローチは、バージョンごとにアップグレードすることです。 2 つのオプション:
バージョンごとにローカルで 3.2 にアップグレードし、リモートにエクスポートします
あなたの状況は次のようになります: 2.4.9 -> 2.6.x -> 3.0.x -> 3.2.11
最後に、3.2.11 でエクスポートされたデータを mongorestore に取り込みます。
2.4.9 をリモートでインストールし、3.2.11 にアップグレードします
プロセスも上記のプロセスに従います。
最終的に正しい結果が得られるように、各バージョンのアップグレードは、対応するバージョンのアップグレードノートに従って実行する必要があります。