コマンドラインオプションまたは構成ファイル を使用して、スタートアップ時に mongosync インスタンスを構成できます。構成ファイルでは、 mongosyncコマンドラインオプションと同等の設定の値を指定します。
During a migration, you can reconfigure certain mongosync settings by following the steps in Reconfigure mongosync During Synchronization.
構成ファイル
ほとんどのmongosyncコマンドライン オプションを YAML ファイルに書込み (write) できます。 構成ファイルでは、YAML 形式を使用して各設定の値を指定します。
以下に例を挙げます。
cluster0: "mongodb://192.0.2.10:27017" cluster1: "mongodb://192.0.2.20:27017" logPath: "/var/log/mongosync" verbosity: "WARN"
構成ファイルを使用するには、 --configオプションを使用してmongosyncを起動し、ファイルへのパスを設定します。
mongosync --config <configPath>
設定
構成ファイルを使用して、次の mongosync 設定を構成できます。
コマンドラインから を設定するには 、「mongosync コマンドライン オプション 」を参照してください。
注意
start コマンドは、reversibility などの機能の追加オプションを提供します。詳細については、start APIドキュメントを参照してください。
acceptDisclaimerタイプ : ブール値
この設定なしで
mongosyncプロセスが開始されると、ユーザーは各ディスククレームを受け入れるように求められます。この設定により、すでにディスク クレームを読み取って承認したユーザーは、ディスク クレームを受け入れ、
mongosyncプロセスを開始できます。コマンドラインから
acceptDisclaimer設定を行うには、--acceptDisclaimerオプションを参照してください。バージョン1.9の新機能。
cluster0型: string
Sets the connection URI for the first cluster. The first cluster can serve as either the source or the destination in the sync process. Designate the source and destination clusters in the call to the
startAPI endpoint.mongosyncの接続の詳細については、「 接続」を参照してください。コマンドラインから
cluster0設定を行うには、--cluster0オプションを参照してください。
cluster1型: string
Sets the connection URI for the second cluster. The second cluster can serve as either the source or the destination in the sync process. Designate the source and destination clusters in the call to the
startAPI endpoint.mongosyncの接続の詳細については、「 接続」を参照してください。コマンドラインから
cluster1設定を行うには、--cluster1オプションを参照してください。
createIndexesBatchSizeバージョン1.19.0の新機能。
タイプ: 整数
最小:
1最大:
64宛先クラスターでのインデックス構築のバッチするサイズを明示的に設定する。デフォルトでは 、
mongosyncは Atlas 宛先クラスターでこの値をプログラム的に最適化します。警告
インデックスごとに 100MB-1 GBのメモリを割り当てていることを確認してください。さらに、同時インデックス構築によって使用される合計メモリが宛先クラスターのRAMの 20% 未満であることを確認してください。インデックス構築に宛先RAMの 20% 以上を割り当てると、 ファイルシステムキャッシュに干渉する可能性があり、宛先クラスターへの書込みのバッファリングに使用できるメモリが減ります。
詳細については、インデックス構築の最適化 を参照してください。
コマンドラインから
createIndexesBatchSize設定を行うには、--createIndexesBatchSizeオプションを参照してください。
disableMetricsLoggingタイプ: ブール値
バージョン1.16.0の新機能。
Mongosync バイナリを実行するときに、メトリクスのログ記録を無効にします。
警告
効果的なトラブルシューティングとサポートを容易にするために、 メトリクスのログ を有効にしておくことを 強く推奨 します。
詳細については、Mongosync メトリクス を参照してください。
コマンドラインから
disableMetricsLogging設定を行うには、--disableMetricsLoggingオプションを参照してください。詳しくは、「 ユーザー データの収集」を参照してください。
disableTelemetryタイプ: ブール値
バージョン1.4.0の新機能。
mongosyncの テレメトリー データの収集を無効にします。デフォルトでは、
mongosyncMongoDB 製品を改善するために匿名の集約された使用状況データを収集します。mongosyncを実行すると、このテレメトリー データのコレクションを無効にできます。コマンドラインから
disableTelemetry設定を行うには、--disableTelemetryオプションを参照してください。詳しくは、「 ユーザー データの収集」を参照してください。
disableVerificationタイプ: ブール値
埋め込み検証子 を無効にします。無効にすると、
mongosyncは移行を検証しません。 別の検証方法については、「 データ転送の検証 」を参照してください。このオプションは、検証付きで
mongosyncを実行中中に OOM 強制終了が発生し、 より多くのリソースを割り当てたり、 再起動の検証を許容したりできないカスタマーの回避策となります。 これにより、検証を無効にして移行を完了できます。 その後の再起動や元に戻すときは、検証は無効のままになります。このオプションは、
mongosyncが最初に起動される場合は使用しないでください。 代わりに、 /startリクエストパラメータverification.enabled: falseを使用して検証を無効にします。検証はデフォルトで有効になっているためです。コマンドラインからの検証を無効にするには、
--disableVerificationオプションを参照してください。バージョン1.10の新機能。
enableCappedCollectionHandlingタイプ: ブール値
mongosyncでは、移行中に新しい上限付きコレクションの作成を有効にするには、このフラグを渡す必要があります。移行中に新しい上限付きコレクションの作成を有効にするには、
trueに設定します。デフォルトはfalseです。コマンドラインから
enableCappedCollectionHandling設定を行うには、--enableCappedCollectionHandlingオプションを参照してください。バージョン1.20の新機能。
hotDocIDs型: string
ホットドキュメント、またはソースクラスター上で非常に頻繁に更新されるドキュメントの識別子を設定します。次に、
mongosyncは移行コミット ステージ中にこれらのドキュメントをコピーします。mongosyncを実行中中にホットドキュメントが原因でレプリケーションラグが発生する移行には、この設定を使用します。識別子は次の形式で指定します。
{ “db”: <string>, // the name of the database "collection" : <string>, // name of the collection "ids" : [ {“_id”:<Object>”}, ...], } idsフィールド内のオブジェクトは、有効な標準モード拡張JSON文字列である必要があります。この設定を複数回使用して、複数のコレクションからホットドキュメント識別子を提供できます。次は、コレクション
coll1とcoll2から 2 つのホットドキュメント識別子を提供する例です。mongosync \ --hotDocIDs '{"db":"db1","collection":"coll1","ids":[{"_id":{"$oid":"doc1"}},{"_id":{"$oid":"6aa23c249cef3cd958e43785"}}]}' \ --hotDocIDs '{"db":"db2","collection":"coll2","ids":[{"_id":{"$oid":"70023c249cef3cd958e43269"}},{"_id":{"$oid":"7aa23c249cef3cd958e43785"}}]}' \ ... other CLI arguments ... 一度開始すると、ホットドキュメント識別子を除くことはできません。誤って設定した場合は、正しい識別子で
mongosyncを再起動します。注意
mongosync逆同期でホット ドキュメントを保持しません。逆同期中にホット ドキュメントによりレプリケーションラグが発生した場合は、mongosyncプロセスを再起動し、逆方向のホット ドキュメント識別子を指定します。移行をゼロから再開始しないでください。コマンドラインから
hotDocIDsを設定するには、--hotDocIDsオプションを参照してください。
id型: string
mongosyncインスタンスの識別子を設定します。シャーディングされたクラスターで
mongosyncの複数のインスタンスを実行中の場合は、この設定を使用して、シャードを個別に同期します。The identifier value for this setting must correspond to the shard ID of the shard it syncs. To find the shard ID, use the
listShardscommand.コマンドラインから
id設定を行うには、--idオプションを参照してください。
loadLevelタイプ: 整数
デフォルト:
3ソースクラスターと宛先クラスター間でデータを同期するためのクラスターワークロードレベルを設定します。
4これは最上位の設定で、クラスターのワークロードが最大化され、データが最速で同期されます。1これは最下位の設定で、クラスタのワークロードが最小限に抑えられ、データの同期は最も遅くなります。
コマンドラインから
loadLevel設定を行うには、--loadLevelオプションを参照してください。警告
loadLevelをデフォルトの3よりも高く設定すると、宛先クラスターのパフォーマンスに悪影響を及ぼす可能性があります。ソースクラスターに読み取りボトルネックが存在する場合、または宛先クラスターに書込みボトルネックが存在する場合、
loadLevelを減らすとパフォーマンスが向上する可能性があります。バージョン1.4の新機能。
logPath型: string
ログディレクトリへのパスを設定します。Mongosync は、このディレクトリ内のファイルにログを書込みます。
詳しくは、「ログ記録」を参照してください。
コマンドラインから
logPath設定を行うには、--logPathオプションを参照してください。
metricsLoggingFilepath型: string
バージョン1.16.0の新機能。
メトリクスログディレクトリへのパスを設定します。Mongosync は、このディレクトリ内のファイルにメトリクス ログを書込みます。
詳細については、Mongosync メトリクス を参照してください。
コマンドラインから
metricsLoggingFilepath設定を行うには、--metricsLoggingFilepathオプションを参照してください。
portタイプ: 整数
デフォルト:
27182Mongosync HTTP APIのHTTPサーバーが使用するポートを設定します。
コマンドラインから
port設定を行うには、--portオプションを参照してください。
verbosity型: string
デフォルト:
DEBUGログメッセージの冗長レベルを設定します。Mongosync では、指定されたレベルのすべてのメッセージと、それより低いレベルのすべてのメッセージがログに記録されます。
verbosity設定では次の値がサポートされています。TRACEDEBUGINFOWARNERRORFATALPANIC
コマンドラインから
verbosity設定を行うには、--verbosityオプションを参照してください。
同期中に mongosync を再構成する
重要
移行中に調整できるのは、次の設定のみです。 mongosyncの再起動間でその他の設定を変更しないでください。
mongosync が同期している間に、次の手順を実行して、--config、--createIndexesBatchSize、--disableTelemetry、--loadLevel、--logPath、--port、および--verbosity オプションを再構成できます。
(オプション)mongosync プロセスを一時停止します
実行中の各pause プロセスでmongosync を実行します。
最後のステップに示すように、一時停止状態から後でmongosyncプロセスを再開できます。
Tip
再構成後、すぐにデータ同期操作を再開したくない場合は、mongosync プロセスを一時停止することを検討してください。 これは、複数の mongosync プロセスからの操作を調整する場合に便利です。
(任意)構成ファイルを更新する
--configを最初に初期化するときにmongosync オプションを使用して構成ファイルへのパスを設定した場合は、この構成ファイルを各設定の新しい値で更新します。
プロセスを初期化mongosync
mongosync前のステップで構成ファイルを更新した場合は、更新された構成ファイルのパスに設定した--config オプションを使用して プロセスを初期化します。
mongosync --config <configPath>
最初に--config を初期化したときにmongosync オプションを使用しなかった場合は、コマンドラインオプションを更新した値に設定してmongosync プロセスを初期化します。
mongosync \ --cluster0 "<cluster0_connection_string>" \ --cluster1 "<cluster1_connection_string>" \ --loadLevel <newLevel>
詳細については、「 mongosync を初期化する 」を参照してください。
mongosync プロセスを開始または再開する
mongosync任意の最初のステップの前半で プロセスを一時停止した場合は、一時停止したresume mongosyncプロセスで を実行します。
mongosyncを使用せずにpause プロセスを停止した場合は、停止したstart mongosyncプロセスで を実行します。詳細な手順については、「クラスター間でのデータの移行」を参照してください。
mongosync は、以前のプロセスを停止する前の状態から同期をほぼ再開します。 終了時に進行中であったパーティションは、最初から再起動します。