それぞれmongoインスタンスを持つ2つのサーバーがあります。
最初のサーバーではmongoインスタンスをプライマリとして設定し、2番目のmongoではセカンダリです。
別のサーバーを使用してアービターにする可能性はありません。
2台のサーバーだけでmongodbを使用するにはどうすればよいですか?
プライマリに障害が発生した場合、セカンダリは自動的にプライマリになりますか?
ありがとう!
それぞれmongoインスタンスを持つ2つのサーバーがあります。
最初のサーバーではmongoインスタンスをプライマリとして設定し、2番目のmongoではセカンダリです。
別のサーバーを使用してアービターにする可能性はありません。
2台のサーバーだけでmongodbを使用するにはどうすればよいですか?
プライマリに障害が発生した場合、セカンダリは自動的にプライマリになりますか?
ありがとう!
選択の問題が発生するため、レプリカ セットに偶数のメンバーを含めることはお勧めできません。ノードが選出されるためには、過半数の票を獲得する必要があります。メンバーが 2 人いる場合、2 票を得る必要がありますが、少なくとも 1 つのノードがダウンしている場合、それは不可能です。いくつかのオプションがあります:
軽量アービター ノードを最初または 2 番目のサーバーの replicaSet に追加すると、レプリカ セットに 3 つのメンバーができます。ネットワークが分断された場合に回復が妨げられることはありませんが、2 つのノードのレプリカを設定するよりは少しましです。
マスター/スレーブ モードでレプリカ セットを使用します。つまり、自動回復がなければ、プライマリに votes:2 を設定することで実現できます。プライマリがダウンしている場合は、レプリカ セットを再構成し、セカンダリにvotes:2を設定する必要があります。その後、セカンダリがプライマリとして選択されます。したがって、手動リカバリのオプションがあります。