对于AI助手:文档索引位于 https://www.mongodb.com/zh-cn/docs/llms.txt — 通过将 .md 附加到任何URL路径,可以获得所有页面的降价版本。
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs 菜单

配置独立分片扩展

对于用于在云上部署和管理Atlas集群的Atlas CLI命令,您可以使用 --autoScalingMode 选项配置集群如何处理资源扩展。您可以将此选项用于以下命令,以指定集群分片是共同扩展还是独立伸缩:

--autoScalingMode 选项采用以下值:

表示集群节点可跨所有分片共同扩展。

atlas setup --clusterName symmetricShardCluster --provider AWS --autoScalingMode clusterWideScaling --projectId 5e2211c17a3e5a48f5497de3 --tier M10

对于配置了 clusterWideScaling 的集群,JSON 输出如下所示:

clusterWideScaling 输出示例
{
"clusterType": "SHARDED",
"name": "symmetricShardCluster",
"diskSizeGB": 0,
"replicationSpecs": [
{
"id": "internalId",
"numShards": 2,
"regionConfigs": [
{
"electableSpecs": { ... },the
"readOnlySpecs": { ... },
...
}
],
"zoneName": "string"
}
],
...
}

要学习;了解有关输出的更多信息,请参阅 getCluster 端点。如果省略 --autoScalingMode 选项,命令默认为 clusterWideScaling模式。

表示集群节点可独立扩展。

atlas setup --clusterName asymmetricShardCluster --provider AWS --autoScalingMode independentShardScaling --projectId 5e2211c17a3e5a48f5497de3 --tier M10

对于配置了 independentShardScaling 的集群,JSON 输出如下所示:

IndependentShardScaling 输出示例
{
"clusterType": "SHARDED",
"name": "asymmetricShardCluster",
"replicationSpecs": [
{
"id": "externalId",
"regionConfigs": [
{
"electableSpecs": {
"diskSizeGB": 10,
...
},
"readOnlySpecs": {
"diskSizeGB": 10,
...
},
}
],
"zoneId": "string",// for GET/UPDATE
"zoneName": "string"
},
...
]
}

JSON输出包括描述单个分片属性的 replicationSpecs对象。replicationSpecs 元素而不是 numShards字段定义分片的数量。diskSizeGB字段位于每个分片的 replication_specs.regionConfig对象内。输出中返回的 zoneId字段用于标识全局集群的区域。要学习;了解有关输出的更多信息,请参阅 getCluster 端点。

将分片集群恢复为集群范围的扩展

要将使用独立分片扩展的分片集群恢复为集群范围的扩展,请执行以下步骤:

1

向Atlas Administration API发出从一个项目返回一个集群终结点的请求。该请求为每个分片返回一个 replicationSpecs 条目。

2

replicationSpecs 中选择一个与其他分片匹配的分片,以实现对称扩展。请注意所选分片的 regionConfigs 的以下属性:

  • instanceSize 每个分片角色,例如 electableSpecsreadOnlySpecsanalyticsSpecs

  • diskSizeGBebsVolumeTypediskIOPS,或各个集群供应商的等效存储字段。

为了确保性能的连续性,请选择最高层级的分片作为模板。

3

使用所选模板模式作为基础,编写 PATCH请求有效负载,其中每个分片的 instanceSizeelectableSpecsreadOnlySpecs 值相同。

{
"replicationSpecs": [
{
"id": "SHARD_ID_0",
"regionConfigs": [
{
"providerName": "AWS",
"regionName": "US_EAST_1",
"zoneName": "Zone1",
"electableSpecs": {
"instanceSize": "M60",
"nodeCount": 3,
"diskSizeGB": 2048,
"ebsVolumeType": "PROVISIONED",
"diskIOPS": 4000
},
"readOnlySpecs": {
. . .
},
"analyticsSpecs": {
. . .
}
}
]
},
{
"id": "SHARD_ID_1",
"regionConfigs": [
. . .
]
},
. . .
]
}

您必须保留现有分片的 id 值。为每个分片匹配层级、存储和磁盘设置。

4

使用之前定义的有效负载向Atlas Administration API 更新一个项目中的一个集群 端点发出请求。这将启动集群中所有分片的滚动调整大小。

调整分片大小以恢复对称性后,您可以恢复使用 2024-10-23 API资源版本。此版本依赖于对称 replicationSpecs.numShards model。