注意
本页应用于 Atlas Core 集群。要修改 Atlas Infinite 集群,请参阅 修改 Atlas Infinite 集群。
您可以在初始配置后修改 Atlas Core 集群。
有关可用选项的摘要,请参阅 Atlas 配置选项。
有关详细的配置步骤,请参阅必需的访问权限和随后的选项。
有关集群更改的影响、成本和备份策略的更多信息,请参阅考虑因素。
Atlas 配置选项
您可以更改 Atlas Core 集群的以下选项:
设置 | 操作 | 限制 |
更改集群类型。 | 要将 Free 集群或 Flex 集群的集群层扩展为专用集群,请参阅将 Free 或 Flex 集群扩展为专用集群。 | |
为集群启用全局写入功能或更改现有的全局集群配置。 | 为集群启用全局写入后,您将无法禁用它们。 启用全局写入后,Atlas 全球集群不支持专用搜索节点。 | |
| 当您在已包含主节点或从节点的区域中添加或替换节点时,Atlas 会执行速度更快的基于云的初始同步。Atlas 仅支持在 AWS 和 Google Cloud 集群中执行跨区域的基于云的初始同步。对于 Azure 集群,Atlas 会通过逻辑初始同步的方式向新区域添加节点。 如果您在 2020 年 11 月 2 日(当时 Atlas 增加了对多云集群的支持)之前在 Google Cloud 或 Azure 上创建了 Atlas 集群,那么更改为其他提供商会更改新集群的连接字符串。您可以考虑安排一个时间,使用新的连接字符串更新应用程序,以便再次连接到集群。 要了解更多信息,请参阅如果更改专用集群上的云提供商,我是否应该更新连接字符串? 对于 Azure 上的集群,如果更改区域,则该区域的某些存储功能可能不可用。Atlas 用户界面 会通知您,您的 IOPS 将会降低,这可能会影响应用程序的性能。要了解更多信息,请参阅支持扩展存储的区域以及在 Azure 上更改存储容量和 IOPS。 | |
部署或修改多云、多区域集群。 | 对于部署在 Azure 上的集群,如果更改为多区域集群,则可能在某个区域发现某些存储卷功能不可用。Atlas 用户界面 会通知您,您的 IOPS 将会降低,这可能会影响应用程序的性能。要了解更多信息,请参阅支持扩展存储的区域以及在 Azure 上更改存储容量和 IOPS。 | |
更改集群层。 | 如果您的集群使用 NVMe 存储,Atlas 必须执行初始同步。 在 Atlas Core 集群上,每当需要初始同步时,基于文件副本的初始同步将始终用于同步 NVME 集群的所有节点。 | |
更改集群生成。 | 您可以像更改集群层级一样,为符合条件的集群在不同代际之间进行切换,并需考虑一些附加因素。要了解更多,请参阅 更改集群的代次 页面。 Gen2 仅适用于部署在 AWS 或 Google Cloud 上的 | |
更改集群层的存储选项。 | 使用 NVMe 存储的集群在每个集群层都有固定的大小。 | |
更改集群的自动扩展选项,包括存储自动扩展。Atlas 会根据最小 oplog 保留窗口或 oplog 大小来管理 oplog 条目,具体取决于您是否选择使用存储自动伸缩。要了解详情,请参阅 Oplog 大小行为。Atlas 默认启用存储自动伸缩。 | ||
升级集群的主 MongoDB 版本。 | 除非在升级前固定集群的FCV ,否则无法降级MongoDB版本。 您无法升级到比固定特征兼容性版本高 2 个版本的版本。如果集群固定为特征兼容性版本 7.0,则只能升级到 8.0,而不能升级到 9.0+。 | |
将副本集纵向扩展为分片集群。 | 您不能撤消此操作。 Atlas 支持对 如果您的集群运行 MongoDB 5.3 或更高版本,则在数据库触发器运行且启用了 Document Preimage 配置选项的情况下,可将副本集转换为分片集群。对于运行早于 5.3 的 MongoDB 版本的集群,您必须在转换为分片集群之前禁用 Document Preimage 配置选项。 | |
设置分片集群的分片数。 | 减少分片数量需要一些时间。Atlas 会根据分片 重要提示:删除8.0 中的分片片时,Atlas使用
Atlas 支持对 | |
为集群启用或禁用备份。 | Atlas 自动为 Flex 集群启用备份。您无法在这些层级的集群上禁用备份。 | |
启用或禁用在集群中使用自己的加密密钥。 |
完成这些修改后,点击应用更改。
Considerations
迁移、可用性和性能影响
对 Atlas Core 集群进行更改通常需要迁移到新的服务器和存储卷。初始同步和跨存储卷重新同步数据所需的时间与集群中的数据量呈线性增长。
在 Atlas Core 集群上,每当需要初始同步时,基于文件副本的初始同步将始终用于同步 NVME 集群的所有节点。
以下迁移需要进行初始同步:
从免费集群(以前称为
M0)或 Flex集群扩展到更高的集群层。从常规存储卷更改为 NVMe 存储卷以及从 NVMe 存储更改为常规存储。
从一个 NVMe 集群层扩展到另一个集群层时,可手动启动或通过自动伸缩启动。当 90% 的可用存储空间已被使用时,NVMe 集群会自动伸缩到下一个更高层级。
需要更换支持 NVMe 的 Atlas 集群的更改,例如区域更改。
对于部署到 Azure 的集群,更改集群类。
要最大限度地提高可用性:
对于副本集,Atlas 可以一次迁移一个节点,首先是从节点,然后是主节点。
对于分片集群,Atlas 会独立执行分片迁移。对于每个分片(例如副本集),Atlas 会一次迁移一个节点,首先是从节点开始,然后是主节点。
可重试写入应防止在选择新的主节点时出现任何写入错误。平均而言,一次选举可能需要五秒钟。
如果主节点已经达到操作容量,则迁移可能会影响性能。每个新迁移的副本集节点都必须从主节点执行初始同步,从而增加了操作负载。如果您将读取偏好设置为通过从节点读取,则迁移也会影响性能。在迁移过程中,副本集会关闭一个从节点。
如果 Atlas 集群上的工作负载妨碍了操作(包括扩展能力),在某些情况下,MongoDB Atlas 可能会在集群中创建索引以作为保障。
帐单
更改 Atlas Core 集群时,可以在应用不同选项之前比较这些选项的成本。Cluster Overview 框显示所选配置的成本,不包括数据传输。
以下部分提供每个 Atlas 集群扩展配置选项的完整文档。
备份
有关备份 Atlas Core 集群的更多信息,请参阅云备份。
必需的访问权限
要修改 Atlas Core 集群,您必须至少拥有该项目的Project Cluster Manager访问权限。
基于云的初始同步
在 Atlas Core 集群上,当您向已包含主节点 (primary node in the replica set) 或从节点(secondary node from replica set)的任何云提供商区域添加节点时,或当您向尚未包含主节点 (primary node in the replica set) 或从节点(secondary node from replica set)的 AWS 或 Google Cloud 区域添加节点时,Atlas 会执行 基于云的初始同步 。基于云的初始同步利用云提供商的原生功能,创建源节点数据的快照,并将其恢复到新节点。
If your Atlas cluster has nodes in multiple regions, including at least one AWS region, you can enable Faster Cross-Region Initial Sync for AWS Clusters in your cluster's Additional Settings for an additional cost. This allows Atlas to use AWS time-based snapshot copies to speed up cross-region data copy between AWS nodes during Cloud-based initial sync. To learn more about this setting, see Enable Faster Cross-Region Initial Sync for Atlas Core AWS Clusters.
在不使用M40+ NVMe 存储 的 AWS 集群上,Atlas 临时预配性能更高的存储卷,以支持在基于云的初始同步过程中进行 快速磁盘预加热 。为了恢复您的原始存储设置,Atlas 会使用四种 EBS 卷修改中的一种,AWS 允许在任何 24 小时内对每个卷进行四次修改。
Atlas 仅支持在 AWS 和 Google Cloud 集群中执行跨区域的基于云的初始同步。对于 Azure 集群,Atlas 会通过逻辑初始同步的方式向新区域添加节点。您可以在编辑集群配置时,为集群添加或删除节点。
注意
自管理初始同步消歧
对于自管理部署,初始同步是MongoDB用于向副本集添加新节点的进程。从MongoDB 5.2 开始,初始同步进程可以是基于逻辑的,也可以是基于文件副本的。这些过程与MongoDB Atlas中基于云的初始同步不同,后者利用云提供商的原生功能创建源节点数据的快照并将其恢复到新节点。要学习;了解有关自管理初始同步进程的更多信息,请参阅MongoDB手册中的初始同步。
编辑集群
您可以使用 Atlas CLI 修改此页面上的任何 Atlas Core 集群设置。
要使用 Atlas CLI 更新集群,请运行以下命令:
atlas clusters update [clusterName] [options]要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 Atlas 集群 更新。
编辑高级设置
要使用 Atlas CLI 更新一个集群的高级配置设置,请运行以下命令:
atlas clusters advancedSettings update <clusterName> [options]要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas clusters advancedSettings update。
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Clusters。
会显示集群页面。
或者,如果您已经在查看特定集群,请单击 Configuration 按钮。对于免费集群,您还可以单击集群的 Upgrade 按钮。
修改集群类型
如果您有 Free 集群或 Flex 集群,您可以 将集群层扩展到专用集群。
修改 Global Cluster Configuration
重要
一经部署,无法禁用集群的全局写入。
在 Atlas Core 集群上,您可以为集群启用全局写入功能或修改现有的 Atlas全球集群配置。全局写入不适用于 Atlas Infinite 集群。
修改 Cloud Provider & Region
注意
Considerations
- 免费集群层集群
- 仅当您将免费集群扩展到更大的集群时,才能修改云提供商和区域。
- Flex 集群或更大层级的集群
- 当您修改集群或扩展到更大的集群时,您可以修改云提供商和区域。
如果您的旧集群部署在 Google Cloud 或 Azure 上的时间是在 2020 年 10 月之前,则更改为其他提供商会更改与新集群的连接字符串。请考虑安排时间使用新的连接字符串更新应用程序,以恢复与集群的连接。Atlas 将数据迁移到新集群。
要查看集群的当前云提供商和区域,请选择 Cloud Provider & Region。
在 Atlas Core 集群上,您可以修改应用于集群的云提供商和区域。在处于公共预览阶段的 Atlas Infinite 集群上,创建集群后,您无法更改云提供商或区域。要修改 Atlas Infinite 集群,请参阅修改 Atlas Infinite 集群。
要在区域性中断期间向集群添加可选举节点,请按照在区域性中断期间重新配置副本集中的步骤操作。
要从 Atlas 免费集群或 Flex 集群扩展,请从可用的云提供商中进行选择。
如果您更改启用了云备份的集群的主节点 (primary node in the replica set)区域, Atlas会按需快照并将其存储在新的主节点 (primary node in the replica set)区域,而无需等待下一个计划的快照。如果新的主节点 (primary node in the replica set)区域以前是用于快照分发的从节点(secondary node from replica set)备份区域, Atlas会自动更新您的备份策略,将快照从新的主节点 (primary node in the replica set)区域分发到原始主节点 (primary node in the replica set)区域和其他从节点(secondary node from replica set)区域。
要删除或部署其他搜索节点,请调整 Search nodes for workload isolation(用于工作负载隔离的搜索节点)下的 Number of Search Nodes(搜索节点数量)设置。您可以在集群上每个区域每个分片部署 2 到 32 个搜索节点。
如果删除集群上的所有现有搜索节点,则在处理搜索查询结果时会出现中断,同时 Atlas 会从在专用搜索节点上单独运行的
mongot进程迁移到与mongod并行运行的mongot进程。当索引在托管mongot和mongod进程的节点上构建时,您无法运行查询,并且您将遇到查询停机。当您将搜索节点添加到没有任何搜索节点的集群时,与
mongod同时运行的现有mongot进程会在MongoDB搜索完成初始同步后向数据库,而mongot进程会在新的专用搜索节点对所需集合执行初始同步。这会导致迁移进程中出现双重读取。如需了解更多信息,请参阅添加专用搜索节点。
查看可用区域
要使用 Atlas CLI 列出 Atlas 支持新部署的可用地区,请运行以下命令:
atlas clusters availableRegions list [options]要了解有关命令语法和参数的更多信息,请参阅 atlas clusters availableRegions list。
修改 Cluster Tier
您可以更改 Atlas Core 集群层,以及所选集群的代际、内存、存储和 IOPS(速度)规格。如果您为 M10 或更高级别的集群单独部署搜索节点,您还可以更改搜索层级。
注意
如果您启用了备份合规策略,则无法将集群层修改为不支持云备份的层。
您可以像更改集群层级一样,为符合条件的集群在不同代际之间进行切换,并需考虑一些附加因素。要了解更多,请参阅 更改集群的代次 页面。
免费集群和 Flex 集群注意事项
您无法扩展
M10+专用集群缩减为免费集群或 Flex集群。在以下情况下,更改集群层需要停机:
您可以从免费集群或 Flex集群更改为
M10或更大的集群层。您可以从“免费”集群更改为“灵活”集群。
为防止数据损坏,请在扩展操作期间停止对集群的写入操作。
要了解更多信息,请参阅将 Free 或 Flex 集群扩展到专用集群。
集群节点的层级
选择首选的集群层。如果您单独部署搜索节点,请在 Base Tier 标签页中选择首选的集群层。所选实例大小决定了集群中每个 承载数据的节点 的内存、存储、vCPU 和 IOPS 规格。
警告
从免费集群或 Flex 集群升级到专用集群层级会永久删除当前集群和所有相关备份快照。升级完成后,无法恢复这些快照。为保留数据,请在启动升级前使用 下载所有必需快照 mongodump或执行数据导出。
注意
修改集群层时,Atlas 会重新启动集群中的所有节点。
在 Cluster Tier(集群层)部分,您还可以:
您可以根据分析工作负载选择大小适当的集群层。要学习;了解更多信息,请参阅用于工作负载隔离的分析节点。
重要
将免费集群升级为专用集群、将免费集群升级为Flex集群或将Flex集群升级为专用集群后,您必须先重新启动您的应用程序,然后才能连接到升级后的集群。
搜索节点的层级
在 Search Tier(搜索层级)标签页中,选择首选搜索层级。如果所选搜索层级在您所在地区不可用,Atlas 会自动切换到您所在地区的下一个更高的搜索层级。所选实例大小决定了集群上每个搜索节点的内存、存储、IOPS 规格和费用。
注意
修改搜索层级时,Atlas 会重新启动集群中的所有节点。
Modify Additional Settings
您可以在 Atlas Core 集群上设置以下选项:
升级集群版本
要选择或升级集群版本,请参阅选择或更改集群版本。有关选择发布节奏或版本的常规指导,请参阅MongoDB 版本和升级路径。
为集群启用或禁用备份
Atlas 会自动为 Flex 集群启用备份,您无法禁用此设置。要了解更多信息,请参阅 Flex 集群备份。
要为 M10+ Atlas 集群启用云备份,请将 Turn on Cloud Backup 切换开关设为 On。如果启用,Atlas 会定期为数据库创建快照,并根据项目的备份策略予以保留。
要禁用M10+ Atlas 集群的云备份,请将Turn on Cloud Backup切换开关设置为Off。这也会禁用集群的持续云备份。要在禁用云备份后保留任何现有快照,请在将更改应用到集群之前将Keep
existing snapshots after backups disabled?切换设置为On。此选项指示 Atlas 根据您集群的备份策略保留集群的现有快照和 oplog。
有关可用备份选项的详细说明,请参阅为集群配置备份选项。
启用或禁用集群的终止保护
要为集群启用Termination Protection,请切换Termination Protection至Yes。
如果已启用,Atlas 会阻止用户删除集群。要删除已启用终止保护的集群,必须先禁用终止保护。默认情况下,Atlas 会禁用所有集群的终止保护。
提示
将副本集扩展到分片集群
如果您的集群运行 MongoDB 5.3 或更高版本,则在数据库触发器运行且启用了 Document Preimage 配置选项的情况下,可将副本集转换为分片集群。对于运行早于 5.3 的 MongoDB 版本的集群,您必须在转换为分片集群之前禁用 Document Preimage 配置选项。
要将集群部署为分片集群,请将 Shard your cluster (M30 and up) 切换为 Yes。
要将单个副本集集群转换为多分片的分分片集群,必须首先转换为单分片的分片集群,重新启动应用程序并重新连接到集群,然后添加其他分片。
如果不重新启动应用程序客户端,在 Atlas 开始跨分片分发数据后,您的数据可能会出现不一致。
如果不重新连接应用程序客户端,您的应用程序可能会出现数据服务中断。
如果使用的是标准连接字符串,则必须更新连接字符串,反映新的集群拓扑。
从MongoDB 8.3 开始,DDL 操作 和 applyOps 只能在所有集群的 mongos 上运行。从副本集过渡到分片集群时,这些操作可能暂时不可用。
有关如何将副本集转换为分片集群的说明,请参阅将副本集转换为分片集群。
提示
修改 Number of Shards
仅当部署为分片集群时,此字段才可见。
您的集群可以包含 1 到 70 个分区(含 1 和 100)。
要将副本集扩展到多分片集群,必须首先扩展到单分片集群,重新启动应用程序并重新连接到集群,再添加其他分片。
如果不重新连接应用程序客户端,您的应用程序可能会出现数据服务中断。
将副本集集群扩展到单分片集群后,您可以设定要与分片集群一起部署的分片数量。
如果您要减少分片集群中的分片数量,Atlas 则会根据 "_id" 字段中的数量按降序删除分片(请参阅分片集群配置)。以具有以下三个分片的分片集群为例:
"shard0""shard1""shard2"
如果将分片数设置为 2,Atlas 将从集群中删除 "shard2"。
重要提示:删除8.0 中的分片片时,Atlas使用 moveCollection 命令将该分片的任何未分片集合移动到剩余的分片。在此进程中,所有未分片的集合均会保持在线。
在分片删除进程中,所有分片的集合都保持在线且可用。您必须打开负载均衡器,以从已删除的分片分片的片集合。
Atlas使用 movePrimary 命令移动无法被
moveCollection命令清空的任何未分片集合。要学习;了解有关moveCollection限制的更多信息,请参阅限制。movePrimary是离线操作。有关分片删除的更多信息,请参阅从分片集群中删除分片。
为集群启用或禁用 MongoDB SQL 接口
要启用或禁用 MongoDB SQL Interface (Atlas Dedicated),请展开 Additional Settings,然后在 Advanced Settings 下,将 Enable Atlas SQL Interface (M10 and up) 设置为开启或关闭。
关闭 SQL Interface 将禁用此功能,依赖它的客户端应用程序将无法访问,直到您重新开启它。
MongoDB SQL Interface (Atlas Dedicated) 仅适用于运行 MongoDB 6.0 或更高版本的 M10 及以上版本的专用集群。
启用静态加密
要使用 KMS 为此集群启用 Atlas 静态加密,请将 Manage your own encryption keys (M10 and up) 切换到 Yes。要了解更多信息,请参阅管理自己的加密密钥。
配置其他配置选项
在此部分为您的集群配置其他选项。
有关这些选项的详细信息,请参阅配置附加选项。
Modify Cluster Details
在您的 Atlas Core 集群上添加、查看和管理标签。要了解更多信息,请参阅修改现有集群时管理集群标签。
重要
请勿在资源标记中包含敏感信息,如个人身份信息 (PII) 或受保护的医疗信息 (PHI)。其他 MongoDB 服务(例如账单服务)可以访问资源标记。MongoDB 还向 DataDog 和 Prometheus 集成发送集群资源标签。资源标记不应用于隐私信息和敏感数据。要了解详情,请参阅敏感信息。
保存更改供以后使用
单击 Atlas Core 集群配置表单末尾的 Save Draft,可以保存更改。
首次点击 Save Draft 会提示Atlas向与Atlas帐户关联的电子邮件解决发送一封电子邮件,其中包含返回修改后的集群配置表单的按钮。
您可以返回该表单以进行以下操作:
在出现的弹出窗口中单击 Continue,继续进行更改。
通过单击出现的弹出窗口中的 Reset 来重置所做的更改。
查看并应用更改
单击 Review Changes(查看更改)以查看您所做的更改。
Review Changes(查看更改)页面并排显示修改后的属性的完整摘要,以及与这些更改有关的所有警告或注释。左侧会列出原始属性设置,右侧会列出定价发生变化的相应新设置。
在顶部显示与这些更改相关的所有警告和注释。其中包括以下情况的更改:
无法回滚。
需要初始同步。
导致预期的执行延迟、工作负载增加或停机。
查看更改后,单击Apply Changes将其应用到您的Atlas Core集群。
如果您要从免费集群升级, Atlas会在应用更改之前提示您输入付款信息。
将副本集转换为分片集群
在 Atlas Core 集群上,您可以将副本集转换为分片集群。
注意
当您将副本集转换为分片集群时,Atlas 会重启副本集中的所有节点。
先决条件
要将副本集转换为分片集群:
您的集群必须是
M30+集群。您必须具有
Project Cluster Manager或更高级别的角色。
步骤
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Clusters。
会显示集群页面。
为集群启用分片。
对于要修改的集群,单击 ,然后选择 Edit Configuration。
展开 Additional Settings(其他设置)以修改您的集群配置。
通过将开关设置为On来启用Shard your cluster部分中的分片。
重要
将副本集转换为分片集群后,无法再次将其转换为副本集。
Atlas 会自动从下拉菜单中选择 1 Shard。在重新启动应用程序客户端后,您可以在后续步骤中增加分片数。
警告
$unionWith$search如果集合未分布在多个分片上,则在从副本集升级到运行MongoDB v 的分片集群期间,在子管道中使用带有7.0 的 的查询可能会失败。为了缓解这一问题,请在集群上部署多个分片,并对集合分片,以便将多个数据段分布在多个分片上。点击 Review Changes 查看账单更改,然后点击 Apply Changes。
Atlas 可能需要一些时间来部署更改。请等待 Atlas 转换您的集群,然后再继续下一步。
在集群中的各分片之间分发数据。
要对要分发数据的集合进行分片,请参阅 sh.shardCollection(),了解更多信息。
警告:如果对已经有 MongoDB Search 索引的集合进行分片,在分片上建立索引时,可能会出现搜索结果不完整的短暂现象。此外,如果为已分片的集合(包含 MongoDB Search 索引)添加分片,在添加的分片完成初始同步过程之前,针对该集合的搜索查询可能会返回不完整的结果。要了解更多信息,请参阅初始同步过程。
更改任何集群范围的设置。
如果要进一步更改分片集群,请参阅修改 Atlas Core 集群以了解有关可修改的全集群设置的更多信息。
注意
生成的分片集群始终使用专用配置服务器,即使启用 Atlas 托管的配置服务器。如果您在转换后需要嵌入配置服务器,请联系 MongoDB 支持。