2

私は、レプリカ セットの特定のノードが決してプライマリ ノードにならないことを指定する機能が必要なプロジェクトに取り組んでいます。つまり、すべてのプライマリ対応ノードが停止する障害が発生した場合、システムを読み取り専用状態に減らす必要があります。プライマリ対応ノードが起動するまで。これは可能ですか?はいの場合、どのように?そうでない場合、それを回避する最善の方法は何ですか。

4

2 に答える 2

3

これはドキュメントからのものです(強調鉱山):

priority- プライマリとして選出される可能性があるサーバーの優先順位。稼働中の最も優先度の高いメンバーがプライマリになります。デフォルトは 1.0 です。優先順位 0 は、サーバーがプライマリになることができないことを意味します

したがって、優先度をゼロに設定すると、目的が達成されるはずです。

于 2010-10-29T08:26:07.237 に答える
1

私が知る限り、mongodb はまだ必要なものを完全にはサポートしていません。プライマリがないときに読み取り専用スレーブを再起動すると、SECONDARY ではなく STARTUP2 状態になります。STARTUP2 で mongod インスタンスをクエリしようとすると失敗します。

たとえば、マスターのクラスターと読み取り専用サーバーのクラスターが同じ都市にあり、停電があり、最終的にプライマリ DC がダウンした場合 (誰かが発電機と UPS をチェックするのを忘れた)、読み取り専用サーバーが正常に復旧した場合 (他の DC のジェネレーターは正常に動作します)、スレーブが機能しない状況になります。

于 2010-12-01T11:40:07.597 に答える