当我尝试使用PHP代码或mongo shell连接到我的副本集时,我收到了连接错误。
这是尝试建立连接的php代码:
$manager = new MongoDB\Driver\Manager("mongodb://remoteServerIp:27017/".$db."?replicaSet=rs0");
,连接结果是这个错误:
找不到合适的服务器(`serverSelectionTryOnce` set):
[连接超时呼叫ismaster on '10 .10.0.16:27017'] [连接超时呼叫ismaster on '10 .10.0.17:27017'] [连接超时在'10 .10.0.15:27017上调用ismaster']
如果我尝试使用此命令连接mongo shell:
shell> mongo -host "rs0/remoteServerIp"
...结果是这个错误:
MongoDB shell版本:3.2.10连接到:rs0 / remoteServerIp:27017 / test
2016-12-28T02:19:02.216 + 0000 I NETWORK [thread1]为rs0 / xxx.xxx.xxx.xxx启动新的副本集监视器:27017
2016-12-28T02:19:02.216 + 0000 I NETWORK [ReplicaSetMonitorWatcher]开始
2016-12-28T02:19:07.216 + 0000 W NETWORK [thread1]无法连接到xxx.xxx.xxx.xxx:27017,原因:错误:115当前正在进行操作
2016-12-28T02:19:07.216 + 0000 W NETWORK [thread1]未检测到设置rs0的主要内容 2016-12-28T02:19:12.716 + 0000 W NETWORK [thread1]无法连接到xxx.xxx.xxx.xxx:27017,原因:错误:115当前正在进行操作
2016-12-28T02:19:12.716 + 0000 W NETWORK [thread1]没有检测到设置rs0的主要内容 2016-12-28T02:19:18.216 + 0000 W NETWORK [thread1]无法连接到xxx.xxx.xxx.xxx:27017,原因:错误号:115当前正在进行操作
2016-12-28T02:19:18.216 + 0000 W NETWORK [thread1]未检测到设置rs0的主要内容 2016-12-28T02:19:18.216 + 0000 E QUERY [thread1]错误:连接失败到副本集rs0 / xxx.xxx.xxx.xxx:27017:connect@src/mongo/shell/mongo.js:231:14 @(连接):1:6
相比之下,此连接尝试成功:
shell> mongo -host "rs0/privateip(10.10.0.16)"
如何使用replicaset连接到mongo服务器?