On this page
sh.addShardToZone()
在本页面
Definition
sh.
addShardToZone
(* shard , zone *)- 3.4 版的新功能:将分片与zone关联。 MongoDB 将此分片与给定区域关联。区域覆盖的块将分配给与该区域关联的碎片。
连接到mongos实例时仅发出sh.addShardToZone()。
Behavior
您可以将一个区域与多个分片关联,而一个分片可以与多个区域关联。
有关分片群集中区域的更多信息,请参见zone手册页。
Ranges
MongoDB 有效地忽略没有至少一个与之关联的分片键值范围的区域。
要将范围的分片键值范围与区域关联,请使用sh.updateZoneKeyRange()方法。
Security
对于实施access control的分片群集,您必须以具有以下任一特权的用户身份进行身份验证:
config
数据库中shards
集合上的update;或者,cluster资源上的enableSharding(从版本 3.6.16 开始)。
内置clusterAdmin或clusterManager角色具有发布sh.addShardToZone()的适当权限。有关更多信息,请参见基于角色的访问控制手册页。
Example
以下示例添加了三个区域NYC
,LAX
和NRT
,将每个区域与一个碎片相关联:
sh.addShardToZone("shard0000", "JFK")
sh.addShardToZone("shard0001", "LAX")
sh.addShardToZone("shard0002", "NRT")
一个分片可以与多个区域关联。以下示例将LGA
关联到shard0000
:
sh.addShardToZone("shard0000", "LGA")
shard0000
与LGA
区域和JFK
区域关联。在平衡的集群中,MongoDB 将由任一区域覆盖的读取和写入路由到shard0000
。