rs.syncFrom()
定義
rs.syncFrom()
現在のメンバーのデフォルトの同期ターゲットを一時的に上書きします。
重要
mongosh メソッド
このページでは、
mongosh
メソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
replSetFreeze
コマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
複製するノードの名前を
[hostname]:[port]
の形式で指定します。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
同期ロジック
replSetSyncFrom
の実行時に最初の同期操作が進行中であった場合、 replSetSyncFrom
は進行中の最初の同期を停止し、新しいターゲットで同期プロセスを再開します。
デフォルトの同期ロジックは必要な場合にのみ変更し、常に注意を払ってください。
ターゲット
同期元のメンバーは、セット内の有効なデータソースである必要があります。 ノードから同期するには、ノードは次の操作を行う必要があります。
データを用意します。 スタートアップ モードまたはリカバリ モードではアービタになることはできず、データクエリに答えることができる必要があります。
アクセス可能であること。
レプリカセット構成で同じセットのノードである。
members[n].buildIndexes
設定でインデックスを構築します。セットの別のノード。それ自体からの同期を妨げます。
現在のメンバーより 10 秒以上遅れたメンバーから複製しようとすると、 mongod
は警告をログに記録しますが、遅延ノードからの複製は引き続き遅延します。 「レプリケーションラグとフロー制御 」も参照してください。
永続性
replSetSyncFrom
は、デフォルトの動作の一時的なオーバーライドを提供します。 次の状況では、 mongod
はデフォルトの同期動作に戻ります。
例
rs.syncFrom()
mongosh
で ヘルパーを使用する方法
rs.syncFrom("myHost:27017");