使用最近的客户端库(pymongo 3.4,mongodb(nodejs)2.2.27),我无法通过复制连接到我的mongodb服务器。 复制组配置包含服务器的内部ips或主机名。我收到以下错误:mongodb客户端库无法连接到副本集
pymongo.errors.ServerSelectionTimeoutError: mongodbdriver20151129-arbiter-1:27017: [Errno 8] nodename nor servname provided, or not known,mongodbdriver20151129-instance-1:27017: [Errno 8] nodename nor servname provided, or not known,mongodbdriver20151129-instance-2:27017: [Errno 8] nodename nor servname provided, or not known
或
pymongo.errors.ServerSelectionTimeoutError: 10.0.0.5:27017: timed out,10.0.0.6:27017: timed out,10.0.0.4:27017: timed out
我目前工作围绕它通过改变replicaset配置以包含服务器外部IPS,但我想这将减缓服务器间通信。如何使用原始rsconf从外部位置连接到我的服务器?
[更新]注:我尝试连接到服务器的外部IP,这使用pymongo时2.8或MongoDB中(JS)2.1.4
[更新]按照此chat更多细节工作得很好/ examples
'10.x.x.x'是一个“专用IP范围”。我认为你的副本集成员实际上不在你的本地网络上,这将解释超时错误。看起来你需要使用公共地址或类似于SSH隧道 –
的公共地址,以便通过旧版本的库工作连接。我正在连接到外部IP,例如'mongodb://13.85.**.***:27017 /',但新库尝试连接到rsconfig中指定的主机而不是指定的ips。 – njLT
这是设计。除非您的“客户端应用程序”和“副本集成员”实际上能够位于同一网络上(至少在路由规则方面),否则外部地址对于节点之间的配置是必需的。这一直是这种情况。您在“客户端连接”中指定的仅仅是**种子列表**。没有指定不同的内部和外部使用的东西。从来没有过。 –