从mongos shell添加新分片时出错

时间:2016-12-04 06:13:30

标签: mongodb sharding

我正在学习在mongoDB中设置分片,我计划有1 configsvr,1 shardsvr和1 mongos

我使用

启动了mongod
mongod --configsvr --replSet foo --dbpath e:\mongodb\configsvr --port 27019
mongod --shardsvr --replSet foo  --dbpath e:\mongodb\shardsvr --port 27018

我还使用mongodmongo --port 27019连接到每个mongo --port 27018,并在每个rs.initiate()上执行了mongos

我开始mongos --configdb foo/MY-PC:27019 使用

mongos

我终于使用mongo连接到sh.addShard('foo/MY-PC:27018')我在使用{ "ok" : 0, "errmsg" : "Cannot add foo/MY-PC:27018 as a shard since it is part of a config server replica set", "code" : 96 } 后出错了

错误

{{1}}

请帮助解决此错误

全部谢谢

1 个答案:

答案 0 :(得分:0)

您将foo / MY-PC设置为另一个mongo服务器的副本!它的数据将是该服务器的副本!

复制 在其他服务器中复制服务器的数据,因此如果发生某些事情,您就不会丢失数据!而 Sharding 会将您的数据打破分成几部分,这样您就可以通过同时访问不同的服务器来加快数据访问速度。

因此,如果您将数据分为两部分Data-A和Data-B,并且主副本服务器保留Data-A,那么foo / MY-PC将只保留相同的部分(Data-A)!