我现在想将本地的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에서 성공적으로 복원했습니다. 버전 문제가 아니어야 하며 버전은 모두 이전 버전과 호환됩니다.
아마도 데이터 문제일까요?
그렇게 큰 데이터가 없어서 테스트하기가 어렵네요. 더 작은 시계로 바꿔보세요.
문서를 주의 깊게 읽으십시오. 버전 간 업그레이드는 명시적으로 금지되어 있습니다. 올바른 접근 방식은 버전별로 업그레이드하는 것입니다. 두 가지 옵션:
로컬에서 버전별로 3.2 버전으로 업그레이드한 후 원격으로 내보내기
상황은 다음과 같아야 합니다. 2.4.9 -> 2.6.x -> 3.0.x -> 3.2.11
마지막으로 3.2.11에서 내보낸 데이터를 mongorestore로 가져옵니다.
2.4.9를 원격으로 설치하고 3.2.11로 업그레이드
과정 역시 위와 같은 과정을 따릅니다.
최종적으로 올바른 결과를 얻으려면 각 버전의 업그레이드를 해당 버전의 업그레이드 노트에 따라 수행해야 합니다.