2016-12-23 3 views
3

(クロスポスティングhttps://github.com/Automattic/mongoose/issues/4834MongoError:さらにreplicaSetで見つかりませプライマリ(マングースは、内部アドレスとのgcloud上の外部IPアドレスを置き換える)

これはmongodb - 3.4.0(モンゴ:ドッカから最新)の最新バージョンであり、私がインストールされていますGoogleコンピューティングエンジン上のmongoクラスタ各mongoサーバーはexternalinternalIP addressです。

同じnodejsコードを使用して、個々のmongoノードに接続できます。しかし私が両方のIPアドレス(mongodb:// IP-ADDR1、IP-ADDR2)を獲得したとき、私は 'プライマリが見つかりませんでした。それがどのように見えるログから

はそれがismaster.meIP-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を。

私の分析が正しいかどうか、問題の回避策がわかっている場合は教えてください。

答えて

2

Mongodb nodejsネイティブドライバチーム(Christian Amor Kvalheim経由)からの応答を受けました。

これは、レプリカセットの標準ソースであり、新しいメンバーに接続し、監視し、発見するために使用されるレプリカセットの動作です。解決可能なものを作成しない場合は、ホストファイルを修正してローカルDNS解決に含める必要があります。

http://mongodb.github.io/node-mongodb-native/2.2/reference/faq/

関連する問題