(クロスポスティングhttps://github.com/Automattic/mongoose/issues/4834)MongoError:さらにreplicaSetで見つかりませプライマリ(マングースは、内部アドレスとのgcloud上の外部IPアドレスを置き換える)
これはmongodb - 3.4.0
(モンゴ:ドッカから最新)の最新バージョンであり、私がインストールされていますGoogleコンピューティングエンジン上のmongoクラスタ各mongoサーバーはexternal
とinternal
IP address
です。
同じnodejsコードを使用して、個々のmongoノードに接続できます。しかし私が両方のIPアドレス(mongodb:// IP-ADDR1、IP-ADDR2)を獲得したとき、私は 'プライマリが見つかりませんでした。それがどのように見えるログから
はそれがismaster.me
がIP-ADDR
と同じではないことを見てここで
ismaster [{"hosts":["10.60.4.5:27017","10. 60.4.6:27017"],"setName":"rs0","setVersion":4,"ismaster":false,"secondary":true,"primary":"10.60.4.5:27017","me":"10. 60.4.6:27017","lastWrite":{"opTime":{"ts":"6367309576328445953","t":1},"lastWriteDate":"2016-12-23T14:53:07.000Z"},"m axBsonObjectSize":16777216,"maxMessageSizeBytes":48000000,"maxWriteBatchSize":1000,"localTime":"2016-12-23T14:53:13.7 21Z","maxWireVersion":5,"minWireVersion":0,"readOnly":false,"ok":1}]
、MongoDBはURL内のサーバーのそれぞれに接続し、以下のようにトポロジー関連のデータ構造(ismaster)を取り出し(ismaster.meは内部IPアドレスです)を使用してconnectコマンドを呼び出すために使用されます。 Mongoのは以下のように、シード・リストから元のIPアドレスを削除し、以下:
[WARN-ReplSet:9532] 1482504793904 the seedlist server was removed due to its address 104.197.115.7:27017 not matching its ismaster.me address 10.60.4.6:27017 { type: 'warn'
最後に、これは 'no primary found in replicaset
' になり
長い詳細をログに記録は、リンクに掲載されている - https://github.com/Automattic/mongoose/issues/4834
TIAを。
私の分析が正しいかどうか、問題の回避策がわかっている場合は教えてください。