2017-02-22 147 views
4

我正在尝试一个简单的分片设置(在没有任何副本集的单个主机上)。但是我不能再往前走,因为这是当我尝试启动mongos会发生什么:无法启动mongos

C:\>mongos --configdb localhost:27010 --port 27011 

我得到:

BadValue: configdb supports only replica set connection string 
try 'mongos --help' for more information 

我没有看到所缺乏的。我试过mongos --help,但根据--configdb的有效参数是<config replset name>/<host1:port>, <host2:port>, etc。但这是我所做的。

我没有做任何事情比在开始配置服务器其他:

mongod --configsvr --port 27010 

这是一个我试图将mongos连接。

关于如何解决这个问题的任何想法?

提前感谢您的任何建议。

+0

嗨,你能解决这个问题。我得到了同样的问题,但创建了一套配置服务器的副本。但现在它说没有检测到主集。 –

+0

@ Er.MohitAgrawal是的,下面的答案解决了我的问题。你用这个命令尝试了吗? – clueless

回答

3

您已经设置了配置服务器作为一个独立的mongod过程,但MongoDB的3.4不支持:它必须一个replicaset:

config servers: Config servers store metadata and configuration settings for the cluster. As of MongoDB 3.4, config servers must be deployed as a replica set (CSRS).

的最小化设置是将一个单独的mongod进程配置为一个成员的副本集;那么你的mongos进程连接到副本集:

mongos --configdb replsetname/localhost:27010 --port 27011 
+0

允许1个成员的副本集?认为最小大小为3. – clueless

+0

不,最小大小为1 - 请记住,只要在单个mongod进程上启动副本集,它就可以充当副本集。但是:显然,除了玩具系统之外,您都希望复制套件中的多个成员能够获得好处。 –

+0

请参阅https://docs.mongodb.com/manual/core/sharded-cluster-components/#development-configuration –