Docs 菜单
Docs 主页
/
MongoDB Atlas
/ /

修改集群

在此页面上

  • Atlas 配置选项
  • Considerations
  • 必需的访问权限
  • 编辑集群
  • 修改集群类型
  • 修改 Global Cluster Configuration
  • 修改 Cloud Provider & Region
  • 修改 Cluster Tier
  • Modify Additional Settings
  • Modify Cluster Details
  • 保存更改供以后使用
  • 查看并应用更改
  • 将副本集转换为分片集群

您可以在初始配置后修改集群。

  • 有关可用选项的摘要,请参阅 Atlas 配置选项

  • 有关详细的配置步骤,请参阅必需的访问权限和随后的选项。

有关集群更改的影响、成本和备份策略的更多信息,请参阅考虑因素

您可以更改 Atlas 集群的以下选项:

设置

操作

限制

集群类型

更改集群类型。

您只能从共享集群移动到专用集群或无服务器实例。

为集群启用全局写入功能或更改现有的全局集群配置。

为集群启用全局写入后,您将无法禁用它们。

选择其他提供商以更改专用集群的云提供商。

如果您在 AWS 上创建了 Atlas 集群,在 2020 年 11 月 2 日之后创建了 Atlas 集群,则您的连接字符串不会更改。您不会遭遇集群停机。

如果您在 2020 年 11 月 2 日 (当时 Atlas 增加了对多云集群的支持)之前在 Google Cloud 或 Azure 上创建了 Atlas 集群,那么更改为其他提供商会更改新集群的连接字符串。您可以考虑安排一个时间,使用新的连接字符串更新应用程序 ,以便再次连接到集群。

要了解详情,请参阅从专用集群迁移到不同的 cloud 提供商时,是否必须更新连接字符串?

如果您将节点添加或移动到没有主节点或没有现有从节点的区域,则需要每个新迁移的副本集成员执行初始同步。

对于 Azure 上的集群,如果更改区域,则该区域的某些存储功能可能不可用。Atlas 用户界面会通知您 IOPS 可能会降低,进而影响应用程序的性能。要了解更多信息,请参阅支持扩展存储的区域,以及Azure 上扩展存储容量和 IOPS

部署或修改多云、多区域集群。

对于部署在 Azure 上的集群,如果变更为多区域集群,则可能在某个区域发现某些存储卷功能不可用。Atlas UI 会通知您 IOPS 可能降低,进而影响应用程序的性能。要了解详情,请参阅支持扩展存储的区域,以及Azure 上扩展存储容量和 IOPS

更改集群层。

如果您的集群使用 NVMe 存储,Atlas 必须执行初始同步

在需要初始同步时,基于文件拷贝的初始同步将始终用于同步 NVMe 集群的所有节点。

更改集群层的存储选项。

使用 NVMe 存储的集群在每个集群层都有固定的大小。

更改集群的自动扩展选项,包括存储自动扩展。Atlas 会根据最小 oplog 保留窗口或 oplog 大小来管理 oplog 条目,具体取决于您是否选择使用存储自动伸缩。要了解详情,请参阅 Oplog 大小行为。Atlas 默认启用存储自动伸缩。

升级集群的主 MongoDB 版本。

除非在升级前固定集群的FCV ,否则无法降级MongoDB版本。

将副本集纵向扩展为分片集群。

您无法逆转这一纵向扩展。

Atlas 支持对 M30 或更大的集群使用分片集群。

为集群启用以下任一 Atlas App Services 功能时,无法将副本集转换为分片集群:

设置分片集群的分片数。

减少分片数量需要一些时间。Atlas 会根据分片 "_id" 字段中的数字按降序删除分片。任何后续 MongoDB 配置更改都将在 Atlas 删除分片后开始。

重要提示:当您删除分片时,Atlas 使用 movePrimary 命令,将该分片中任何未分片的数据库移动到剩余的分片:

  • 在分片移除过程中,所有分片集合均会保持在线并可用。但是,在 movePrimary 操作期间对未分片的集合进行读取或写入操作则可能会导致意外行为,其中包括迁移失败或数据丢失。

  • 我们建议在删除主分片之前移动包含未分片集合的任何数据库的主节点。

  • 有关更多信息,请参阅从现有分片集群删除分片

Atlas 支持对 M30 或更大的集群使用分片集群。

为集群启用或禁用备份。

Atlas 自动启用 M2 和 M5 集群的备份。您无法在这些层级的集群上禁用备份。

为此集群启用或禁用 BI Connector for Atlas。

MongoDB Connector for Business Intelligence for Atlas (BI Connector) 仅适用于 M10 和更大的集群。

BI Connector是一款功能强大的工具,可为用户提供基于SQL的MongoDB数据库访问权限。 因此, BI Connector执行的操作可能会占用大量 CPU 和内存。 由于 M10M20集群层的硬件资源有限,启用BI Connector时,集群的性能可能会下降。如果出现这种情况,请扩展到 M30 或更大的集群,或者禁用BI Connector。

启用或禁用将自己的加密密钥用于此集群。

完成后单击“应用更改”。

对集群进行更改通常需要迁移到新的服务器和存储卷。初始同步和跨存储卷重新同步数据所需的时间与集群中的数据量呈线性增长。

在需要初始同步时,基于文件拷贝的初始同步将始终用于同步 NVMe 集群的所有节点。

以下迁移需要进行初始同步:

  • 从免费集群或共享集群(M0M2M5 集群)扩展到更高的集群层。

  • 从常规存储卷更改为 NVMe 存储卷以及从 NVMe 存储更改为常规存储。

  • 从一个 NVMe 集群层升级或降级另一层时,可手动启动或通过自动伸缩启动。当 90% 的可用存储空间已被使用时,NVMe 集群会自动伸缩到下一更高层级。

  • 需要更换支持 NVMe 的 Atlas 集群的更改,例如区域更改。

  • 对于部署到 Azure 的集群,更改集群类

要最大限度地提高可用性:

  • 对于副本集,Atlas 可以一次迁移一个节点,首先是从节点,然后是主节点。

  • 对于分片集群,Atlas 会独立执行分片迁移。对于每个分片(例如副本集),Atlas 会一次迁移一个节点,首先是从节点开始,然后是主节点。

可重试写入应防止在选择新的主节点时出现任何写入错误。平均而言,一次选举可能需要五秒钟。

如果主节点已经达到操作容量,则迁移可能会影响性能。每个新迁移的副本集节点都必须从主节点执行初始同步,从而增加了操作负载。如果您将读取偏好设置为通过从节点读取,则迁移也会影响性能。在迁移过程中,副本集会关闭一个从节点。

如果 Atlas 集群上的工作负载妨碍了操作(包括扩展能力),在某些情况下,MongoDB Atlas 可能会在集群中创建索引以作为保障。

更改集群时,可以在应用不同选项之前比较这些选项的成本。Cluster Overview(集群概述)框显示所选配置的成本,不包括数据传输。

重要

免费集群

M0免费集群升级到M2或更高级别的付费层级集群,将开始对集群进行计费。有关Atlas计费的完整文档,请参阅管理计费。

以下部分提供每个 Atlas 集群扩展配置选项的完整文档。

有关备份集群的更多信息,请参阅云备份

要修改集群,您必须对此项目拥有Project Cluster Manager或更高访问权限。

您可以使用 Atlas CLI 修改此页面上的任何集群设置。

要使用 Atlas CLI 更新集群,请运行以下命令:

atlas clusters update [clusterName] [options]

要使用 Atlas CLI 升级 M0M2M5 Atlas 集群的集群层、磁盘大小和/或 MongoDB 版本,请运行以下命令:

atlas clusters upgrade [clusterName] [options]

要详细了解先前命令的语法和参数,请参阅 Atlas CLI 文档中的 atlas clusters updateatlas clusters upgrade

提示

请参阅:相关链接

要使用 Atlas CLI 更新一个集群的高级配置设置,请运行以下命令:

atlas clusters advancedSettings update <clusterName> [options]

要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas clusters advancedSettings update

提示

请参阅:相关链接

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Clusters(集群)。

    会显示集群页面。

2

对于要修改的集群,单击 图标,然后选择 Edit Configuration

或者,如果您已经在查看特定集群,请单击Configuration按钮。对于M0免费集群,您还可以单击集群的Upgrade按钮。

如果您有共享集群,则可以将其更改为专用集群或无服务器实例。

要将共享集群转换为无服务器实例,请参阅将共享集群转换为无服务器实例

要将您的 M0M2M5 集群扩展到 M10+ 集群,请完成以下步骤:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Clusters(集群)。

    会显示集群页面。

2
3
4

如要了解更多信息,请参阅修改 Cluster Tier

专用集群的配置选项比共享集群更多。

注意

Considerations

  • 您无法将专用集群更改为共享集群。

  • 您无法将专用集群更改为无服务器实例。

  • 无法将无服务器实例更改为集群。

有关无服务器实例限制的完整列表,请参阅无服务器实例限制

重要

一经部署,无法禁用集群的全局写入。

您可以为集群启用全局写入功能或修改现有的全球集群配置。

注意

Considerations

M0 层级集群
只有将 M0 集群扩展到更大的集群时,才能修改云提供商和区域。
M2 或更大层级的集群
当您修改集群或扩展到更大的集群时,您可以修改云提供商和区域。

如果您的旧集群部署在 Google Cloud 或 Azure 上的时间是在 2020 年 10 月之前,则更改为其他提供商会更改与新集群的连接字符串。请考虑安排时间使用新的连接字符串更新应用程序,以恢复与集群的连接。Atlas 将数据迁移到新集群。

如果您在 Atlas 集群上部署了搜索节点,则无法修改云提供商或云提供商区域。

  • 要查看该集群的当前云提供商和地区,请选择 Cloud Provider & Region(云提供商和地区)。

  • 要修改应用于此集群的云提供商和地区,请按照可选举节点的高可用性中的步骤操作。

  • 要在区域性中断期间向集群添加可选举节点,请按照在区域性中断期间重新配置副本集中的步骤操作。

  • 要从 Atlas 免费集群或共享集群向上扩展,请从可用的云提供商中进行选择。

  • 要删除或部署其他搜索节点,请调整 Search nodes for workload isolation(用于工作负载隔离的搜索节点)下的 Number of Search Nodes(搜索节点数量)设置。您可以在集群上部署 2 到 32 个搜索节点。

    如果删除集群上的所有现有搜索节点,则在处理搜索查询结果时会出现中断,同时 Atlas 会从在专用搜索节点上单独运行的 mongot 进程迁移到与 mongod 并行运行的 mongot 进程。当索引在托管 mongotmongod 进程的节点上构建时,您无法运行查询,并且您将遇到查询停机。

    当您将搜索节点添加到没有任何搜索节点的集群中时,与 mongod 同时运行的现有 mongot 进程将尾随数据库写入操作,这发生在 Atlas Search 完成初始同步之后,而新的专用搜索节点上的 mongot 进程会对所需的集合执行初始同步。这会导致迁移进程中出现双重读取。

要使用 Atlas CLI 列出 Atlas 支持新部署的可用地区,请运行以下命令:

atlas clusters availableRegions list [options]

要了解有关命令语法和参数的更多信息,请参阅 atlas clusters availableRegions list

提示

请参阅:相关链接

您可以更改集群层,以及所选集群的内存、存储和 IOPS(速度)规格。 如果您为M10或更高级别的集群单独部署搜索节点,您还可以更改搜索层。

注意

如果您启用了备份合规策略,则无法将集群层修改为不支持云备份的层。

  • 您无法将 M10+ 专用集群缩减为 M0 免费集群或 M2/M5 共享集群。

  • 在以下情况下,更改集群层需要停机:

  • 您可从 M0 免费集群或 M2/M5 共享集群更改为 M10 或更大的集群层。

  • 您从 M0 可用集群更改为 M2/M5 共享集群。

  • 您可从 M2 共享集群更改为 M5 共享集群。

    为防止数据损坏,请在扩展期间停止对集群的写入操作。

选择首选的集群层。如果您单独部署搜索节点,请在 Base Tier(基础层)标签页中选择首选的集群层。所选实例大小决定了集群中每个承载数据的服务器 [1] 的内存、存储、vCPU 和 IOPS 规格。

警告

从租户(免费或共享)层级升级到专用集群层级会删除当前集群。要保留现有快照,请在升级集群前下载这些快照

注意

修改集群层时,Atlas 会重新启动集群中的所有节点。

Cluster Tier(集群层)部分,您还可以:

您可以根据分析工作负载选择大小适当的集群层。要学习;了解更多信息,请参阅用于工作负载隔离的分析节点。

如果您部署只读节点并希望集群更快地扩展,请考虑调整副本集扩展模式。

Search Tier(搜索层级)标签页中,选择首选搜索层级。如果所选搜索层级在您所在地区不可用,Atlas 会自动切换到您所在地区的下一个更高的搜索层级。所选实例大小决定了集群上每个搜索节点的内存、存储、IOPS 规格和费用。

注意

修改搜索层级时,Atlas 会重新启动集群中的所有节点。

您可以设置以下选项:

重要

在升级集群之前,请参考当前推荐的主要版本升级最佳实践

  1. 选择 Additional Settings(其他设置),查看为集群当前配置的 MongoDB 版本。

    Atlas 始终通过滚动流程将集群升级到指定版本的最新稳定版本,以维持集群可用性。

    除非在升级前固定集群的FCV ,否则无法将集群降级到较早的MongoDB版本。

    仅当最新 MongoDB 版本是主要版本时,才可以从使用 Latest Release 切换为使用特定版本。

  2. Select a version(选择版本)下拉列表中选择新的 MongoDB 版本。

    Atlas 支持以下升级路径:

    • MongoDB 5.0 -> MongoDB 6.0

    • MongoDB 6.0 -> MongoDB 7.0

    • MongoDB 7.0 -> 最新版本

系统会自动为 M2M5 共享集群启用备份,并且无法禁用。

提示

另请参阅:

要为 M10+ Atlas 集群启用备份,请将 Turn on Cloud Backup (M10 and up)(打开备份 [M10 及更高版本])切换为 Yes(是)。如果启用,Atlas 会定期为数据库创建快照,并根据项目的保留策略予以保留。

有关可用备份选项的详细说明,请参阅为集群配置备份选项。

要为集群启用Termination Protection,请切换Termination ProtectionYes

如果已启用,Atlas 会阻止用户删除集群。要删除已启用终止保护的集群,必须先禁用终止保护。默认情况下,Atlas 会禁用所有集群的终止保护。

提示

另请参阅:

为集群启用以下任一 Atlas App Services 功能时,无法将副本集转换为分片集群:

要将集群部署为分片集群,请将 Shard your cluster (M30 and up) 切换为 Yes

要将副本集扩展到多分片集群,必须首先扩展到分片集群,重新启动应用程序并重新连接到集群,再添加其他分片。

如果不重新启动应用程序客户端,在 Atlas 开始跨分片分发数据后,您的数据可能会出现不一致。

如果不重新连接应用程序客户端,您的应用程序可能会出现数据服务中断。

提示

另请参阅:

仅当部署为分片集群时,此字段才可见。

您的集群可以包含 1 到 100 个分区(含 1 和 100)。

要将副本集扩展到多分片集群,必须首先扩展到分片集群,重新启动应用程序并重新连接到集群,再添加其他分片。

如果不重新连接应用程序客户端,您的应用程序可能会出现数据服务中断。

将副本集集群扩展到单分片集群后,您可以设定要与分片集群一起部署的分片数量。

如果您要减少分片集群中的分片数量,Atlas 则会根据 "_id" 字段中的数量按降序删除分片(请参阅分片集群配置)。以具有以下三个分片的分片集群为例:

  • "shard0"

  • "shard1"

  • "shard2"

如果将分片数设置为 2,Atlas 将从集群中删除 "shard2"

重要

当您删除分片时,Atlas 使用 movePrimary 命令,将该分片中任何未分片的数据库移动到剩余的分片。

在分片移除过程中,所有分片集合均会保持在线并可用。但是,在 movePrimary 操作期间对未分片的集合进行读取或写入操作则可能会导致意外行为,其中包括迁移失败或数据丢失。

我们建议在删除主分片之前移动包含未分片集合的任何数据库的主节点。

有关更多信息,请参阅从现有分片集群删除分片

不要为生产环境创建单分片的分片集群。单分片的分片集群无法提供与多分片配置相同的优势。创建单分片集群后,重新启动应用程序,重新连接到集群,然后向集群添加更多分片。

如要为此集群启用 BI Connector for Atlas,请将 Enable Business Intelligence Connector (M10 and up) 切换为 Yes

提示

另请参阅:

要使用 KMS 为此集群启用 Atlas 静态加密,请将 Manage your own encryption keys (M10 and up) 切换到 Yes(是)。要了解更多信息,请参阅管理自己的加密密钥

注意

客户 KMS 的所有更改都需要初始同步

在此部分为您的集群配置其他选项。

有关这些选项的详细信息,请参阅配置附加选项。

添加标签、查看现有标签和管理标签。要了解更多信息,请参阅修改现有集群时管理集群标签

重要

请勿在资源标记中包含敏感信息,如个人身份信息 (PII) 或受保护的医疗信息 (PHI):其他 MongoDB 服务(例如账单服务)可以访问资源标记。资源标记应用于隐私信息和敏感数据。要了解详情,请参阅敏感信息

单击集群配置表单末尾的 Save Draft,可以保存更改。

首次点击 Save Draft 会提示Atlas向与Atlas帐户关联的电子邮件解决发送电子邮件,其中包含返回修改后的集群配置表单的按钮。

您可以返回该表单以进行以下操作:

  • 在出现的弹出窗口中单击 Continue,继续进行更改。

  • 通过单击出现的弹出窗口中的 Reset 来重置所做的更改。

  • Continue在出现的弹出窗口中单击 ,然后单击Review Changes ,查看并应用集群更改。

单击 Review Changes(查看更改)以查看您所做的更改。

Review Changes(查看更改)页面并排显示修改后的属性的完整摘要,以及与这些更改有关的所有警告或注释。左侧会列出原始属性设置,右侧会列出定价发生变化的相应新设置。

在顶部显示与这些更改相关的所有警告和注释。其中包括以下情况的更改:

  • 无法回滚。

  • 需要初始同步

  • 导致预期的执行延迟、工作负载增加或停机。

查看更改后,单击Apply Changes将其应用到您的集群。

如果您从 M0 免费集群升级,Atlas 会提示您在应用更改之前输入付款信息。

[1] 对于副本集,承载数据的服务器是托管副本集节点的服务器。对于分片集群,承载数据的服务器是托管分片的服务器。对于分片集群,Atlas 还为配置服务器部署服务器;这些服务器与集群成本分开按单独的费率计费。

您可以将副本集转换为分片集群

注意

当您将副本集转换为分片集群时,Atlas 会重启副本集中的所有节点。

要将副本集转换为分片集群:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Clusters(集群)。

    会显示集群页面。

2
  1. 对于要修改的集群,单击 ,然后选择 Edit Configuration

  2. 展开 Additional Settings(其他设置)以修改您的集群配置。

  3. 通过将开关设置为On来启用Shard your cluster部分中的分片。

    注意

    将副本集转换为分片集群后,无法再次将其转换为副本集。

    Atlas 会自动从下拉菜单中选择 1 Shard。在重新启动应用程序客户端后,您可以在后续步骤中增加分片数。

  4. 点击 Review Changes 查看账单更改,然后点击 Apply Changes

Atlas 可能需要一些时间来部署更改。请等待 Atlas 转换您的集群,然后再继续下一步。

3

如果不重新启动应用程序客户端,在 Atlas 开始跨分片分发数据后,您的数据可能会出现不一致。

  • 如果您使用的是 DNS 种子列表连接字符串,在您重新启动应用程序后,应用程序会自动连接到分片集群的 mongos

  • 如果使用的是标准连接字符串,则必须更新连接字符串,反映新的集群拓扑。

  • 如果您使用私有端点连接到 Atlas 集群,您的集群在转换过程中会出现停机。

要了解更多信息,请参阅连接到一个集群

4
  1. 对于要修改的集群,单击 ,然后选择 Edit Configuration

  2. 展开 Additional Settings(其他设置)以修改您的集群配置。

  3. 从下拉菜单中选择分片的数量。

  4. 点击 Review Changes 查看账单更改,然后点击 Apply Changes

分片支持高吞吐量和大型数据集,随着数据需求的增长,可以增加分片的数量。

5

要对要分发数据的集合进行分片,请参阅 sh.shardCollection(),了解更多信息。

警告

如果您对已具有 Atlas Search 索引的集合进行分片,当该集合开始出现在分片上时,您可能会遇到短暂的查询停机时间。此外,如果您为包含 Atlas Search 索引的已分片集合添加分片,针对该集合的搜索查询将失败,直到添加的分片完成初始同步过程为止。要了解更多信息,请参阅初始同步进程。

6

如果要进一步更改分片集群,请参阅修改集群以了解有关可修改的全集群设置的更多信息。

后退

其他设置