1

それぞれmongoインスタンスを持つ2つのサーバーがあります。

最初のサーバーではmongoインスタンスをプライマリとして設定し、2番目のmongoではセカンダリです。

別のサーバーを使用してアービターにする可能性はありません。

2台のサーバーだけでmongodbを使用するにはどうすればよいですか?

プライマリに障害が発生した場合、セカンダリは自動的にプライマリになりますか?

ありがとう!

4

2 に答える 2

1

選択の問題が発生するため、レプリカ セットに偶数のメンバーを含めることはお勧めできません。ノードが選出されるためには、過半数の票を獲得する必要があります。メンバーが 2 人いる場合、2 票を得る必要がありますが、少なくとも 1 つのノードがダウンしている場合、それは不可能です。いくつかのオプションがあります:

  1. 軽量アービター ノードを最初または 2 番目のサーバーの replicaSet に追加すると、レプリカ セットに 3 つのメンバーができます。ネットワークが分断された場合に回復が妨げられることはありませんが、2 つのノードのレプリカを設定するよりは少しましです。

  2. マスター/スレーブ モードでレプリカ セットを使用します。つまり、自動回復がなければ、プライマリに votes:2 を設定することで実現できます。プライマリがダウンしている場合は、レプリカ セットを再構成し、セカンダリにvotes:2を設定する必要があります。その後、セカンダリがプライマリとして選択されます。したがって、手動リカバリのオプションがあります。

于 2014-05-07T08:57:29.653 に答える