我正在学习在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
我还使用mongod
和mongo --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}}
请帮助解决此错误
全部谢谢
答案 0 :(得分:0)
您将foo / MY-PC设置为另一个mongo服务器的副本!它的数据将是该服务器的副本!
复制 在其他服务器中复制服务器的数据,因此如果发生某些事情,您就不会丢失数据!而 Sharding 会将您的数据打破分成几部分,这样您就可以通过同时访问不同的服务器来加快数据访问速度。
因此,如果您将数据分为两部分Data-A和Data-B,并且主副本服务器保留Data-A,那么foo / MY-PC将只保留相同的部分(Data-A)!