首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带ReplicaSet的with

带ReplicaSet的with
EN

Stack Overflow用户
提问于 2013-06-19 02:26:27
回答 1查看 51关注 0票数 0

我们已经使用服务器的本地IP配置了MongoDB副本集。

config = {_id: 'Prod', members: [ {_id: 0, host: '10.10.194.22:27017'}, {_id: 1, host: '10.10.194.23:27017'}, {_id: 2, host: '10.10.194.24:27017'}, {_id: 3, host: '10.10.194.25:27017', arbiterOnly: true}] };

它对我来说工作得非常好。当我们试图从Eclips中填充数据时,问题就开始了。

我们使用公网IP连接DB,我们已经使用Mongo-Explorer测试了连接。

在填充数据时,它试图连接到服务器的本地IP &这会抛出错误"connection timed out“。

-Tarak

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-19 11:37:32

如果您作为单个节点连接到MongoDB,则客户端驱动程序将使用您指定的地址进行连接。

但是,如果您作为副本集连接到MongoDB,客户端驱动程序将向服务器请求副本集配置,然后在配置中使用主机名或IP地址。如果无法使用这些主机名或IP地址从客户端访问数据库服务器节点,则无法正常工作。

如果您使用的是Java,不同之处在于您为Mongo对象使用了哪个构造函数。如果您使用其中一个列表构造器,即使列表中只有一个对象,它也会作为副本集连接,因此它不适用于您。其他驱动程序也有类似的机制,但您没有提到您正在使用哪个驱动程序。

但是,如果您连接到副本集的一个节点作为单个节点,这应该可以工作。我不会说它是推荐的,但它应该是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17176189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档