Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

自己管理型セカンダリの同期ターゲットの設定

項目一覧

  • Overview
  • Considerations
  • 手順

セカンダリ は プライマリ からデータを取得して、セットのデータの最新のコピーを維持します。 ただし、デフォルトでは、セカンダリは、ノード間の ping 時間や他のノードのレプリケーションの状態の変化に基づいて、同期ターゲットを セカンダリ ノードに自動的に変更する場合があります。 詳細については、「 レプリカセット データの同期自己管理型連鎖レプリケーション」を参照してください。

一部の配置では、デフォルトの同期ターゲット選択ロジックよりもカスタム レプリケーション同期トポロジーを実装する方が効果的な場合があります。 MongoDB には、同期ターゲットとして使用するホストを指定する機能が用意されています。

デフォルトの同期ターゲット選択ロジックを一時的に上書きするには、セカンダリノードの 同期ターゲット を手動で構成して、 oplogエントリを一時的にプルします。 次の は、この機能へのアクセスを提供します。

replSetSyncFrom / rs.syncFrom()の実行時に最初の同期操作が進行中であった場合、 replSetSyncFrom / rs.syncFrom()は進行中の最初の同期を停止し、新しいターゲットで同期プロセスを再開します。

デフォルトの同期ロジックは必要な場合にのみ変更し、常に注意を払ってください。

同期元のメンバーは、セット内の有効なデータソースである必要があります。 ノードから同期するには、ノードは次の操作を行う必要があります。

  • データを用意します。 スタートアップ モードまたはリカバリ モードではアービタになることはできず、データクエリに答えることができる必要があります。

  • アクセス可能であること。

  • レプリカセット構成で同じセットのノードである。

  • members[n].buildIndexes設定でインデックスを構築します。

  • セットの別のノード。それ自体からの同期を妨げます。

現在のメンバーより 10 秒以上遅れたメンバーから複製しようとすると、 mongodは警告をログに記録しますが、遅延ノードからの複製は引き続き遅延します。 「レプリケーションラグとフロー制御 」も参照してください。

replSetSyncFrom/rs.syncFrom()は、デフォルトの動作の一時的なオーバーライドを提供します。 次の状況では、 mongodはデフォルトの同期動作に戻ります。

  • mongodインスタンスが再起動します。

  • mongodと同期ターゲットの間の接続が閉じます。

  • 同期ターゲットがレプリカセットの別のノードより 30 秒以上遅れている場合。

replSetSyncFrommongosh コマンドを使用する方法

db.adminCommand( { replSetSyncFrom: "hostname<:port>" } );

rs.syncFrom() ヘルパーを使用するには次のようにします。mongosh

rs.syncFrom("hostname<:port>");

戻る

ホスト名を変更