sh.removeShardFromZone()
在本页面
Definition
sh.
removeShardFromZone
(* shard , zone *)- 3.4 版的新功能。
删除zone和分片之间的关联。
Parameter | Type | Description |
---|---|---|
shard | string | 从中删除zone关联的分片的名称。 |
zone | string | 要与shard关联的区域名称。 |
连接到mongos实例时仅发出sh.removeShardFromZone()。
Behavior
sh.removeShardFromZone()不会删除与区域关联的范围。
要从集群中完全删除区域,必须在与该区域关联的每个分片上运行sh.removeShardFromZone()。
如果指定的分片是与该区域关联的最后一个分片,则必须确保没有与该区域关联的剩余范围。在运行sh.removeShardFromZone()之前,使用updateZoneKeyRange删除与该区域关联的任何现有范围。
有关分片群集中区域的更多信息,请参见zone手册页。
Balancer
删除区域和分片之间的关联将删除使分片保留在分片上的约束。在下一轮平衡器中,平衡器可以迁移该区域先前覆盖的块。
有关迁移如何在分片群集中工作的更多信息,请参见分片集群平衡器手册页。
Security
对于实施access control的分片群集,您必须通过以下方式之一进行身份验证:
or, alternatively,
- 特权包括cluster资源上的enableSharding的用户(从版本 3.6.16 开始可用)。
内置clusterAdmin或clusterManager角色具有发布sh.removeShardFromZone()的适当权限。有关更多信息,请参见基于角色的访问控制手册页。
Example
以下示例删除了shard0000
和NYC
区域之间的关联:
sh.removeShardFromZone("shard0000", "NYC")