2017-08-25 13 views
0

Mongoバージョンは3.0.6です。--oplogReplayオプションを使用して、mongodumpとmongorestoreによって別のデータベースからoplogを宛先データベースに適用するプロセスがあります。oplogを適用しましたが重複キーエラーが見つかりました

しかし、元のデータベースでエラーが発生している可能性があるため、ソースとターゲットのデータベースは同じ構造(インディーズとフィールド)でターゲット上に重複したレコードを持つことができません。

、エラーメッセージがこの

2017-08-20T00:55:55.900+0000 Failed: restore error: error applying oplog: applyOps: exception: E11000 duplicate key error collection: <collection_name> index: <field> dup key: { : null } 

そして今日のように見える私は平均何本

2017-08-25T01:02:14.134+0000 Failed: restore error: error applying oplog: applyOps: not master 

のような謎のメッセージを発見しましたか?私の理解では、mongorestoreにはデフォルトプロセスを意味する "--stopOnError"オプションがあります。もしエラーがあれば、リストアプロセスはスキップして移動します。しかし、私は上記のエラーが発生し、復元プロセスはいつでも終了しています。 :(

+0

2番目のエラーは、MongoDBのメモリ不足の根本原因を見つけた後、復旧時にデータベースにセッションがたくさんあるため、レプリケーションサービスが別のノードにプライマリに切り替わることです。 –

答えて

0

これは、あなたがデータベースBにデータベースAのoplog変更を適用する必要がある場合、mongo-connectorプログラムを使用する方が良いでしょう

、あなたの質問に直接答えることについて申し訳ありませんが、...しません。

+0

これはまだOplogを使用していますが、mongo-connectorとmongorestoreの違いは何ですか.Oplogを宛先データベースに適用するにはどうしたらいいですか?それを試みます。ありがとうございました。 –

関連する問題