从 mongos 添加新分片时出错 shell

Error adding new shard from mongos shell

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

我使用

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

我还使用 mongo --port 27019mongo --port 27018 连接到每个 mongod 并在每个

上执行 rs.initiate()

我使用

开始了mongos
mongos --configdb foo/MY-PC:27019

我终于使用 mongo 连接到 mongos 使用 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
}

请帮忙解决这个错误

谢谢大家

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

Replicationcopying 一个服务器的数据到另一个服务器,所以如果它发生问题,你不会丢失你的数据!而 Sharding 将您的数据分解 以便您可以通过同时访问不同的服务器来加快数据访问速度。

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