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

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

項目一覧

  • Considerations
  • 関連ドキュメント

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

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

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

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

Tip

以下も参照してください。

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

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

次の例では、 members配列で現在インデックス0にあるセカンダリ ノードを非表示にします。 非表示ノード を構成するには、プライマリに接続されている mongoshセッションで次の一連の操作を使用し、 members配列の配列インデックスで構成するノードを指定します。

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 のノードを含むレプリカセットの再設定は避けてください。

戻る

構成する