0

2つのノードクラスターがあります...1つはプライマリでもう1つはセカンダリです。私はこのメッセージをランダムに保持します

エラー: no primary server found in set

助言がありますか ?レプリカセットオプションでは、次のように設定しました。

{"read":"secondary", "auto_reconnect":true, safe: true}

新しいドライバーも使用しています

"mongodb": "1.2.13"

"mongoskin": "0.5.0"

たった2つのノードだからですか?これらのランダムな読み取りの失敗を防ぐノードの数を増やす必要がありますか?

4

2 に答える 2

0

実稼働環境では 2 つのノードは推奨されませんが、アービターである 3 番目のノードを追加する 2 つのノードを残すことができます( http://docs.mongodb.org/manual/administration/replica-sets/#replica-set-アービター) -- これにより、奇数の投票が得られます (アービターには実際にはデータが保存されていませんが、その唯一の存在は投票することであり、選挙で誰も過半数の票を獲得できない状況を回避することです)。

于 2013-02-25T16:19:26.370 に答える
0

レプリカ セットには (少なくとも) 3 つのメンバーが必要です。プライマリがダウンした場合、他のメンバーが誰を新しいプライマリにするかを決定するために投票するため、レプリカ セットには常に奇数のメンバーが必要です。

有権者の数が偶数の場合、常に同数となり、新しい予備選挙で投票することはできなくなります。

于 2013-02-25T09:38:55.507 に答える