消息关闭
    暂无新消息!
最近在研究mongodb分片的部署,但是按照网上的教程配置并不能成功~     mongos一直无法连接configsvr
以下是其中的配置命令(只展示部分):
服务节点Configsvr:
mongod -configsvr -dbpath /data/shardods1/config -port 40000 -logpath /data/shardods1/config/config.log -logappend -fork 
路由服务器节点Mongos:
mongos -configdb configsvr/127.0.0.1:40000 -port 50000 -logpath /data/mongos.log -logappend -fork
执行之后就一直连接不成功,得到的mongos.log内容是:
[replSetDistLockPinger] Failed to connect to 127.0.0.1:40001, reason: Connection refused
[replSetDistLockPinger] No primary detected for set configsvr


而网上的教程mongos的命令都是mongos -configdb 127.0.0.1:40000 -port 50000 -logpath /data/mongos.log -logappend -fork
这样的格式直接报错
BadValue: configdb supports only replica set connection string
try 'mongos --help' for more information
猜测是3.4版本的改动的原因,求大神帮解答下怎么处理!

10个回答

︿ 3
将config server 配置成副本集,config server 作为主节点,错误依然....
请问是啥原因啊,我还是部署在同一台虚拟机上
︿ 2
有解决的没有,我也有同样的问题
15810562671@163.com

麻烦解决的,说说解决方案
︿ 1
mongdb发展比较快  网上的一些配置方法一般不准  最好参考相应官方文档
https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/
︿ 1
如果这算连接成功
[root@localhost ~]# /usr/local/mongodb/bin/mongos --port 27020 --configdb 'rs1/192.168.2.49:27017,192.168.2.50:27017' --logpath=/data/route1.log --logappend --fork
2017-02-09T18:26:05.152+0800 W SHARDING [main] Running a sharded cluster with fewer than 3 config servers should only be done for testing purposes and is not recommended for production.
about to fork child process, waiting until server is ready for connections.
forked process: 19368


为啥我使用  /usr/local/mongodb/bin/mongo --port 27020 显示无法连接,被拒绝...
︿ 0
使用版本mongodb-3.4.2
已配置服务器复制集:
      ........
      "members" : [
{
"_id" : 0,
"name" : "192.168.2.33:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 781,
"optime" : {
"ts" : Timestamp(1486623331, 1),
"t" : NumberLong(3)
},
"optimeDurable" : {
"ts" : Timestamp(1486623331, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2017-02-09T06:55:31Z"),
"optimeDurableDate" : ISODate("2017-02-09T06:55:31Z"),
"lastHeartbeat" : ISODate("2017-02-09T06:55:36.378Z"),
"lastHeartbeatRecv" : ISODate("2017-02-09T06:55:36.426Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "192.168.2.32:27017",
"configVersion" : 3
},
{
"_id" : 1,
"name" : "192.168.2.32:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 1097,
"optime" : {
"ts" : Timestamp(1486623331, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2017-02-09T06:55:31Z"),
"electionTime" : Timestamp(1486622250, 1),
"electionDate" : ISODate("2017-02-09T06:37:30Z"),
"configVersion" : 3,
"self" : true
},
     ....
启动:[root@localhost bin]# ./mongos --port 40000 --configdb 192.168.2.33:27017 --logpath=/usr/local/mongodb/log/route.log --fork
还是失败...
请问这是啥原因...
︿ 0
如果还有人有问题,可以换版本吧,最新版本3.4.2的 听大神说是需要添加访问控制,才能添加mongos,我后面换了3.0.0版本的,不需要添加访问控制,问题就没有出现过了。

如果有解决方案的,麻烦可以教一下我,itcxy@itcxy.com 谢谢
︿ 0
请问 这个问题解决了没啊  我的现在也是这个问题  3.4版本启动mongos除了问题   
启动的时候 sudo ./mongodb-linux-x86_64-ubuntu1604-3.4.1/bin/mongos --configdb configdb/10.10.2.121:21000,10.10.2.122:21000,10.10.2.123:21000 --port 20000 --logpath /data/mongodbwsdc/mongos/log/mongos.log --fork 是这种方式 但是没办法正常连接  
︿ 0
对  3.4稍微不同 configdb强制复制集
MongoDB 3.4, config servers must be deployed as a replica set (CSRS).