2011-07-14 8 views
2

大量のデータを1つのmongoレプリカ(src)から別の(dst)に移行する必要があります。しかし、利用可能な状態のdstインスタンスにデータを残すことは重要です。そのようなニーズにはcopyDatabaseコマンドを使用します。すでにインデックスをコピーする機会がありますか?それはdstインスタンスでのレクリエーションへの努力を排除することができますか?レクリエーションは、プロセスがフォアグラウンドで実行され、できるだけそれを最小化したいので、セカンダリノードで劇的に影響します。MongoDB:索引付きデータベース/コレクションのコピー方法

ありがとうございました。

答えて

1

copyDatabase()はインデックスをコピーしないため、インポート後にコピー先で再作成されます。

ジャーナリングが有効になっているソースmongodインスタンス(v2.0 +のデフォルト)を実行している場合は、データディレクトリの内容(collection_name.0の形式で多数のファイルを含むフォルダ、 collection_name.1など)を宛先のデータディレクトリにコピーし、宛先のmongodインスタンスを再起動します。

これらのインスタンスがレプリカセットの一部である場合は、作成したコレクションに関連するファイルをコピーし、レプリカセットの構成に関連する「local.x」ファイルを除外する必要があります。

関連する問題