3ノードのレプリカセットがあります。mongo 3.0.6を実行しているdev-6という名前のサーバと、3.2を実行しているmongosが2つあるdev 5です。私はdev 6がプライマリであることを望んでいます。そして、開始したレプリカセットに他の2つのノードを追加しました。一度それがプライマリになり、他の2つのノードが同期を開始します。ここでは、私がdev 6を立ち上げてからバックアップしたときのセットアップの様子をスクリーンショットで示します。レプリカセットメンバがプライマリ後に再同期しない
として、意図DEV 6は二次であり、従ってDEV 5:27018.私はなぜDEV 5は何と同期する1が、DEV 5がないと言っているもののについて思ったんだけど:27019をdev 5:27018と同期していると言っています。
ここで、mongoの手順に従ってdev 6をプライマリにするつもりですが、今ここに結果があります。
のDev 6は、主であるが、何イムを理解しようとすると、いくつかの結論にジャンプする前に5つのインスタンスはDEV 6と接続されていない他のDEVに来る方法です、私はDEV 5に対してpingを実行することができていますdev 6とその逆の場合、/etc/hosts
のプロファイルには互いにIPアドレスが含まれています。
EDIT:レプリカセットが次のメッセージ"lastHeartbeatMessage" : "could not find member to sync from",
で接続できないことに基づいています。これは、rs.config(//current cfg)
を実行した場合、またはレプリカセットを追加または削除した場合に修正されたようです。
これを試しても機能しませんでした。私がしたことは、新しいコレクションを作成し、同期を開始しなかったアイテムを挿入することでした。 – TheM00s3
レプリカメンバーが同期していないことをどのように知っていますか?例えば、それらのうちの1つがダウンしていて、最新の書き込みがあったかどうかをチェックするために再度試みたことがありますか(セカンダリでは 'db.collection.find()を使用できます)readPref(" secondary " ) ')? –
これはシャード 'lastHeartbeatMessage"でこの行を見ています: "から同期するメンバーを見つけることができませんでした"、 '。私は、RSの同期がいつ行われるのか、そうでないのかについて、さらに詳しく述べました。 – TheM00s3