Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

更新现有分片区

在此页面上

  • 关于此任务
  • 开始之前
  • 将分片添加到名为分片的区域
  • 指定 NYC区域的邮政编码值范围
  • 步骤
  • 停止负载均衡器
  • 从区域中删除当前的 NYC范围
  • 更新 NYC区域的区域密钥范围
  • 重启负载均衡器
  • 了解详情

为分片区域指定值范围后,如果应用程序的要求发生变化,则可以更新分片区域范围。

要更新现有分片区域,请执行以下步骤:

  1. 停止负载均衡器。

  2. 从区域中删除旧范围。

  3. 更新区域范围。

  4. 重新启动负载均衡器。

  • 区域范围包括下边界,但不包括上边界。

  • 修改区域后,负载均衡器必须根据新的值范围将数据段迁移到相应的区域。 在均衡完成之前,考虑到为分分片集群分片的区域,某些数据段可能驻留在错误的分片上。

要完成本教程,您必须部署具有分片的集合的分部署分片集群并创建要修改的区域。

此示例使用records数据库中分片的 users的分分片的集合,由zipcode字段分片。

1
sh.addShardToZone(<shard name>, "NYC")
2
sh.updateZoneKeyRange("records.users", { zipcode: "10001" }, { zipcode: "10281" }, "NYC" )

以下过程将NYC区域的zipcode值范围修改为1120111240

1
sh.stopBalancer()
2
sh.removeRangeFromZone("records.user", { zipcode: "10001" }, { zipcode: "10281" } )
3
sh.updateZoneKeyRange("records.users", { zipcode: "11201" }, { zipcode: "11240" }, "NYC" )
4
sh.startBalancer()

后退

管理