ローカルの Mongo データ (50GB) を Alibaba Cloud (メモリ 1G) に移行したいと考えています。ローカルのバージョンは v2.4.9、サーバーは v3.2.11
しかし、mongodumpを使用してデータをエクスポートし、Alibaba Cloudに転送し、その後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 マシンにエクスポートして、Alibaba Cloud サーバー (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 にアップグレードします
プロセスも上記のプロセスに従います。
最終的に正しい結果が得られるように、各バージョンのアップグレードは、対応するバージョンのアップグレードノートに従って実行する必要があります。