sh.addShardToZone()

在本页面

Definition

  • sh. addShardToZone(* shard zone *)
    • 3.4 版的新功能:将分片与zone关联。 MongoDB 将此分片与给定区域关联。区域覆盖的块将分配给与该区域关联的碎片。
ParameterTypeDescription
shardstringzone关联的分片的名称。

zonestring要与shard关联的区域的名称。

连接到mongos实例时仅发出sh.addShardToZone()

Behavior

您可以将一个区域与多个分片关联,而一个分片可以与多个区域关联。

有关分片群集中区域的更多信息,请参见zone手册页。

Ranges

MongoDB 有效地忽略没有至少一个与之关联的分片键值范围的区域。

要将范围的分片键值范围与区域关联,请使用sh.updateZoneKeyRange()方法。

Security

对于实施access control的分片群集,您必须以具有以下任一特权的用户身份进行身份验证:

内置clusterAdminclusterManager角色具有发布sh.addShardToZone()的适当权限。有关更多信息,请参见基于角色的访问控制手册页。

Example

以下示例添加了三个区域NYCLAXNRT,将每个区域与一个碎片相关联:

sh.addShardToZone("shard0000", "JFK")
sh.addShardToZone("shard0001", "LAX")
sh.addShardToZone("shard0002", "NRT")

一个分片可以与多个区域关联。以下示例将LGA关联到shard0000

sh.addShardToZone("shard0000", "LGA")

shard0000LGA区域和JFK区域关联。在平衡的集群中,MongoDB 将由任一区域覆盖的读取和写入路由到shard0000