i have created 3 mongod , 2 mongos and a single config server.
While i look in to sh.printShardingStatus().
it says some node as primary one.
mongoDb如何选择其主要分片来保存非分片集合,我可以更改主分片。
答案 0 :(得分:1)
您可以使用movePrimary命令。细节在这里。它需要您在运行此命令之前排出其他分片。
http://docs.mongodb.org/manual/reference/command/movePrimary/
答案 1 :(得分:1)
根据the manual," [在部署集群之后]创建的数据库可能驻留在集群中的任何分片上。"在分片群集中创建数据库时,将为其分配主数据库,但不会记录选择主数据库的机制。我邀请其他人深入研究the source以追踪并记录所使用的实际机制。
在商业支持服务单中,MongoDB已经确认将在"最常用的"最常用的分片意味着分片上数据量最少的分片。
答案 2 :(得分:1)
主要分片
分片群集中的每个数据库都有一个主分片,其中包含该数据库的所有非分片集合。每个数据库都有自己的主分片。主分片与副本集中的主分片无关。
mongos在创建新数据库时通过选择具有最少数据量的群集中的分片来选择主分片。 mongos使用listDatabase命令返回的totalSize字段作为选择标准的一部分。
答案 3 :(得分:0)
新群集中的主分片始终是第一个分片。请参阅manual