fli*_*app 5 mongoose google-compute-engine node-mongodb-native
(交叉发布https://github.com/Automattic/mongoose/issues/4834)
这是mongodb - 3.4.0(来自docker的mongo:latest)的最新版本,并且我已经在Google计算引擎上安装了mongo集群。每个mongo服务器都有一个external和一个internal IP address。
我可以使用相同的nodejs代码连接到各个mongo节点。但是,当我同时使用两个IP地址(mongodb:// IP-ADDR1,IP-ADDR2)时,出现“未找到主要错误”。
从看起来像的日志中,mongodb通过URL连接到每个服务器,并获取如下拓扑相关的数据结构(ismaster),
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}]]
在这里,它ismaster.me与IP-ADDR用来调用connect命令的方式不同(ismaster.me是内部IP地址)。之后,mongo从种子列表中删除原始IP地址,如下所示:
[WARN-ReplSet:9532] 1482504793904由于其地址104.197.115.7:27017与其ismaster.me地址10.60.4.6:27017不匹配而删除了种子列表服务器{类型:'警告'
最后,结果为' no primary found in replicaset'
较长的日志详细信息发布在链接上-https://github.com/Automattic/mongoose/issues/4834
TIA。
请让我知道我的分析是否正确以及我们是否知道解决该问题的方法。
收到 Mongodb Nodejs 本机驱动程序团队的回复(通过 Christian Amor Kvalheim)。
这是预期的行为,复制集配置是复制集的规范源,并且是驱动程序用来连接、监视和发现新成员的配置。如果您不让这些可解析,您将需要修改主机文件以将它们包含在本地 dns 解析中。
http://mongodb.github.io/node-mongodb-native/2.2/reference/faq/
| 归档时间: |
|
| 查看次数: |
1019 次 |
| 最近记录: |