Mongodb:在分片集群中创建数据库的目标复制集

时间:2014-08-12 11:11:56

标签: mongodb

抱歉,我无法想出更好的头衔。情况:

我们有两个副本集(rs0,rs1),每个副本集有3个成员,在分片群集中充当分片。 (以及3个配置服务器和我们的应用服务器上运行的mongos实例)。

目前我们还没有使用rs1,因为我们还没有达到我们需要对dbs进行分片的程度(副本集在虚拟服务器上运行,rs1设置为最小规格)。

最近我们通过连接到mongos的控制台添加了一个新的数据库。 我假设这个数据库将在rs0上创建,但事实上它是在rs1上创建的所以这在我的脑海中留下了一些问题:

  • 当从mongos实例创建时,哪些规则会管理哪个分片(副本集)将创建新的(非分片)数据库?
  • 这是目前有效的配置吗? (即不同分片上的非分片dbs)。
  • 将新数据库从rs1移回rs0的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

在分片群集中,数据库可以分片或无分片,但无论哪种方式,都会在创建时为其分配主分片。数据库中的非聚合集合存储在主分片上。对于不同的数据库,主分片的选择是不同的,这是正常的。移动数据库的最佳方法是使用movePrimary命令。当然,在改组数据时要小心;特别是,请确保首先使用removeShard将分片集合从数据库中排出。文档对迁移有适当的建议。