我现在想将本地的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本身的问题?但是感觉后者可能性不大。
求问,如何解决?
Je viens de l'essayer. Je l'ai vidé de la version 2.6.6, puis je l'ai restauré avec succès dans les versions 2.6.10 et 3.2.11. Cela ne devrait pas être un problème de version, les versions sont toutes rétrocompatibles.
C'est peut-être un problème de données ?
Je n’ai pas ce Big Data, donc c’est difficile à tester. Essayez de passer à une montre plus petite.
Lisez attentivement la documentation, les mises à niveau entre versions sont explicitement interdites. La bonne approche consiste à mettre à niveau version par version. Deux options :
Mettez à niveau localement vers la version 3.2 par version puis exportez vers un site distant
Votre situation devrait être : 2.4.9 -> 2.6.x -> 3.0.x -> 3.2.11
Enfin, prenez les données exportées en 3.2.11 vers mongorestore.
Installez la version 2.4.9 à distance et effectuez la mise à niveau vers la version 3.2.11
Le processus suit également le processus ci-dessus.
La mise à niveau de chaque version doit être effectuée conformément aux notes de mise à niveau de la version correspondante pour garantir un résultat correct au final.