mongodb3.4分片部署中mongos无法连接configsvr

lxj_1325 2017-01-09 11:42:20
最近在研究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版本的改动的原因,求大神帮解答下怎么处理!
...全文
10511 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqqwww159 2017-09-25
  • 打赏
  • 举报
回复
1楼正解,3.4之后必须先配置副本集。
s740556472 2017-08-30
  • 打赏
  • 举报
回复
不知道楼主解决没解决,我也遇到了跟你一样的问题 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. 后来查了下,应该是在configServer的那层,也需要配置复制集才行 准备试验一下看看能否成功。
qq_26945837 2017-08-16
  • 打赏
  • 举报
回复
Sharing 方式 mkdir mongodb mkdir data mkdir master mkdir salver mkdir arbiter mkdir log 1.启动数据节点 /home/master/bin/mongod --shardsvr --fork --dbpath /mongodb/data/master/ --port 10001 --logpath /mongodb/log/master.log --replSet test #192.168.182.151:10001 /home/slaver/bin/mongod --shardsvr --fork --dbpath /mongodb/data/slaver/ --port 10002 --logpath /mongodb/log/slaver.log --replSet test #192.168.182.151:10002 /home/arbiter/bin/mongod --shardsvr --fork --dbpath /mongodb/data/arbiter/ --port 10003 --logpath /mongodb/log/arbiter.log --replSet test #192.168.182.151:10003 //决策 不存储数据 mkdir config mkdir conf1 mkdir conf2 2.启动配置节点 /home/config1/bin/mongod --configsvr --replSet conf --dbpath /mongodb/config/conf1/ --port 20001 --fork --logpath /mongodb/log/conf1.log #192.168.182.151:20001 /home/config2/bin/mongod --configsvr --replSet conf --dbpath /mongodb/config/conf2/ --port 20002 --fork --logpath /mongodb/log/conf2.log #192.168.182.151:20002 /home/config1/bin/mongo 192.168.182.151:20001 use admin cfg = { _id:'conf', configsvr:true, members:[ {_id:0,host:'192.168.182.151:20001'} ] }; rs.initiate(cfg) rs.add({_id:1,host:'192.168.182.151:20002'}) rs.status() 3.启动路由节点 /home/route/bin/mongos --configdb conf/192.168.182.151:20001,192.168.182.151:20002 --port 30001 --fork --logpath /mongodb/log/root.log #192.168.182.151:30001 4.配置Replica Set /home/master/bin/mongo 192.168.182.151:10001 #ip和port是某个节点的地址 >use admin >cfg={ _id:"test", members:[ {_id:0,host:'192.168.182.151:10001',priority:2}, {_id:1,host:'192.168.182.151:10002',priority:1}, {_id:2,host:'192.168.182.151:10003',arbiterOnly:true}] }; >rs.initiate(cfg) #使配置生效 5.配置Sharding /home/route/bin/mongo 192.168.182.151:30001 #这里必须连接路由节点 >sh.addShard("test/192.168.182.151:10001") #test表示replica set的名字 当把主节点添加到shard以后,会自动找到set里的主,备,决策节点 >db.runCommand({enableSharding:"diameter_test"}) #diameter_test is database name >db.runCommand( { shardCollection: "diameter_test.dcca_dccr_test",key:{"__avpSessionId":1}})
peterzeng666 2017-08-01
  • 打赏
  • 举报
回复
请按以下的试试,貌似需要设置副本集合, 如果配置服务器的端口为30000,几台机器的IP为192.168.0.11--13, 首先在创建配置服务器时创建副本,名称为conf, 然后进入配置服务器进行初始化副本,如下: mongod --configsvr --replSet conf --port 30000 --dbpath /data/mongodb/config/data/ --logpath /data/mongodb/config/log/config.log --fork mongo --port 30000 config = {_id:"conf", members:[ {_id:0, host:"192.168.0.11:30000"}, {_id:1, host:"192.168.0.12:30000"}, {_id:2, host:"192.168.0.13:30000"} ] }; rs.initiate(config); 创建mongos服务器时引用副本conf的名称: mongos --configdb conf/192.168.0.11:30000,192.168.0.12:30000,192.168.0.13:30000 --port 20000 --logpath /data/mongodb/main/log/mongos.log --fork
靳朋 2017-03-02
  • 打赏
  • 举报
回复
有解决的没有,我也有同样的问题 15810562671@163.com 麻烦解决的,说说解决方案
lywh348977787 2017-02-13
  • 打赏
  • 举报
回复
如果还有人有问题,可以换版本吧,最新版本3.4.2的 听大神说是需要添加访问控制,才能添加mongos,我后面换了3.0.0版本的,不需要添加访问控制,问题就没有出现过了。 如果有解决方案的,麻烦可以教一下我,itcxy@itcxy.com 谢谢
lywh348977787 2017-02-11
  • 打赏
  • 举报
回复
我也是出现这个提示,一直卡着终端,进程里面有,日志文件也产生了,就是死活连接不上
引用 8 楼 a787031584 的回复:
如果这算连接成功 [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 显示无法连接,被拒绝...
a787031584 2017-02-09
  • 打赏
  • 举报
回复
如果这算连接成功 [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 显示无法连接,被拒绝...
a787031584 2017-02-09
  • 打赏
  • 举报
回复
使用版本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 还是失败... 请问这是啥原因...
a787031584 2017-02-09
  • 打赏
  • 举报
回复
将config server 配置成副本集,config server 作为主节点,错误依然.... 请问是啥原因啊,我还是部署在同一台虚拟机上
bruceMaNo1 2017-02-09
  • 打赏
  • 举报
回复
请问 这个问题解决了没啊 我的现在也是这个问题 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 是这种方式 但是没办法正常连接
ryanuz_eric 2017-01-14
  • 打赏
  • 举报
回复
配置服务器需要做复制集 请查看我的回复贴
GeYe 2017-01-10
  • 打赏
  • 举报
回复
配置服务器需要做复制集
rucypli 2017-01-09
  • 打赏
  • 举报
回复
mongdb发展比较快 网上的一些配置方法一般不准 最好参考相应官方文档 https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/
rucypli 2017-01-09
  • 打赏
  • 举报
回复
对 3.4稍微不同 configdb强制复制集 MongoDB 3.4, config servers must be deployed as a replica set (CSRS).

1,798

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧