AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

非表示の自己管理型レプリカセット ノードの構成

非表示メンバーはレプリカセットの一部ですが、プライマリになることができず、クライアント アプリケーションからは参照できません。 非表示のメンバーは選挙で投票することができます。 非表示ノードとその使用方法の詳細については、「非表示のレプリカセット ノード 」を参照してください。

非表示ノードの最も一般的な用途は、バックアップをサポートすることです。

遅延ノード をサポートするために 非表示ノード を使用することもできます。 ただし、ノードがプライマリにならないようにするだけの場合は、優先順位の 0 のノードを設定します。

settings.chainingAllowed設定でセカンダリ メンバーが他のセカンダリから同期できる場合、MongoDB は同期ターゲットを選択するときに、デフォルトで 非表示 メンバーよりも非表示メンバーを優先します。 MongoDB は最後の手段として 非表示 のメンバーのみを選択します。 セカンダリが非表示メンバーから同期する場合は、 replSetSyncFromデータベースコマンドを使用してデフォルトの同期ターゲットを上書きします。 コマンドを使用する前に、 replSetSyncFromのドキュメントを参照してください。

セカンダリ メンバーを非表示として構成するには、メンバー構成でそのmembers[n].priority値を0に設定し、 members[n].hidden値をtrueに設定します。

{
"_id" : <num>
"host" : <hostname:port>,
"priority" : 0,
"hidden" : true
}

The following example hides the secondary member currently at the index 0 in the members array. To configure a hidden member, use the following sequence of operations in a mongosh session that is connected to the primary, specifying the member to configure by its array index in the members array:

cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
rs.reconfig(cfg)

セットを再構成すると、このセカンダリ メンバーの優先順位は0であるため、プライマリになることはできず、非表示になります。 セット内の他のノードは、 helloコマンドまたはdb.hello()メソッド出力で非表示ノードを公開しません。

レプリカ構成オブジェクトを更新するときは、 配列インデックスmembers を使用して、 配列内のレプリカセット メンバーにアクセスします。配列インデックスは0で始まります。 このインデックス値を、 members配列内の各ドキュメントのmembers[n]._idフィールドの値と混同 しないでください 。

警告

  • rs.reconfig() shell メソッドを使用すると、現在のプライマリを強制的に降格させることができ、選挙が行われます。プライマリが降格すると、mongod はすべてのクライアント接続を閉じます。通常、この処理時間は 10 ~ 20 秒ですが、スケジュールされたメンテナンス期間中にこれらの変更を行ってください。

  • MongoDB のバージョンによって検証ルールが異なる可能性があるため、異なるバージョンの MongoDB のノードを含むレプリカセットの再設定は避けてください。