2012-03-15 6 views
0

mongodb環境をレプリケーションセットからmongosを通してレプリケーションセットを使用してシャーディングに切り替えました。Mongosレプリカセット

私はS1(A、B)に切り替えた3つの反復集合(A、B、C)を持っていました。 S2(C、D)は、A、B、C、D上で動作するmongoSである。

私は私の古いシステムに接続して以下のように、私は

new Mongo("mongodb://A,B,C", array("replicaSet" => "repset-name")); 

を接続するには、今、私はmongoSウィッヒと同じにしようとした私は取り除く場合interalサーバーエラー

new Mongo("mongodb://A,B,C,D", array("replicaSet" => "repset-name")); 

をスローします"replicaSet"オプションのうち、もう一度動作します。

new Mongo("mongodb://A,B,C,D") 

mongoSは現在設定されている「さらにreplicaSet」オプションを使用せずに断片(AとBとの間、例えばS1バランス)にREP-セット間読み出し釣り合う場合、私は思っていましたか?

ところで、pymongoはpymongo.errors.AutoReconnect "ホスト名に関連付けられたアドレスがありません"と同じ方法で反応します。あなたはシャードしたら、それは単一のサーバーであるかのように

+0

スレーブをtrueに設定すると、セカンダリに読み取りを配布します。 – CesarTrigo

答えて

2

正しいThxを、あなたはmongosに、あなたのドライバを接続する必要があります。 Mongosは現在、クラスタのプライマリとセカンダリに読み取りと書き込みを分散する役割を担っています。 mongosが読み込みをセカンダリに配布するようにするには、読み込みに対してslaveOkをTrueに設定します。

関連する問題