Docs 菜单

Docs 主页启动和管理 MongoDBMongoDB Atlas

配置其他设置

在此页面上

  • 选择集群的 MongoDB 版本
  • 选择发布节奏
  • 配置集群的备份选项
  • M2/M5 层级备份选项
  • M10+ 层备份选项
  • 终止保护
  • 部署分片集群
  • 关于分片部署
  • 关于配置服务器部署
  • 关于 mongos部署
  • 配置分片数量
  • 将副本集升级到分片集群的考量
  • 为 Atlas 启用 BI Connector
  • 读取偏好
  • 采样设置
  • 管理您自己的加密密钥
  • 先决条件
  • 步骤
  • 配置其他选项
  • 考虑因素
  • 查看和编辑其他设置
  • 设置最小 Oplog 窗口
  • 设置 Oplog 大小
  • 强制执行索引键限制
  • 允许在服务器端执行 JavaScript
  • 启用日志校订和匿名查询数据的日志记录
  • 设置最低 TLS 协议版本
  • 所有查询都需要索引
  • 默认写关注
  • 设置事务生命周期
  • 设置数据段迁移并发
  • 启用或禁用快速磁盘预热

您可以为 Atlas 集群配置以下附加设置。

Atlas 支持创建具有以下层级和 MongoDB 版本的集群:

MongoDB 版本
受到 M10+
支持免费和共享层级(M0M2M5
MongoDB 5.0
MongoDB 6.0
MongoDB 7.0
最新版本(自动升级)

重要

如果集群运行的是 MongoDB 的候选版本,MongoDB Atlas 会在有正式版本时将集群升级到稳定版本。

要使用 快速发布MongoDB 版本,您必须选择 Latest Release进行自动升级。您无法选择特定的快速发布版本。

随着新补丁版本的推出,Atlas 会通过滚动进程升级到这些版本,以保持集群可用性。在升级到下一个快速发布版本期间,Atlas 用户界面Database Deployments页面中的集群卡可能会显示集群的FCV而不是 MongoDB 版本,以反映集群当前可用的功能。

要详细了解 Atlas 如何处理主要 MongoDB 版本生命周期终止的更多信息,请参阅使用生命周期即将终止的 MongoDB 版本的 Atlas 集群会发生什么?

重要

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

若要为集群选择 MongoDB 版本,请使用集群表单 Additional Settings(其他设置)部分的下拉列表。

扩展集群时,您可以将现有的 Atlas 集群升级到更新的主要 MongoDB 版本(如果可用)。但是,您无法将集群从一个主要版本降级到之前的主要版本。

重要

如果您的项目包含使用特定 MongoDB 版本中引入的动作的自定义角色,则您无法创建 MongoDB 版本低于该版本的集群,除非您删除该自定义角色。

您可以将 Atlas 集群设置为遵循主要发布节奏或快速发布节奏。

免费层级和共享层级集群必须遵循主要版本的发布节奏。如要配置专用层级集群以遵循主要版本的发布节奏,您可以从集群表单 Additional Settings(其他设置)部分的下拉列表中选择特定 MongoDB 版本。

Atlas 不会根据主要版本的发布节奏自动升级集群。在每个新的主要版本正式发布时,您必须安排手动升级。

要遵循快速发布节奏,您可从集群表单 Additional Settings(其他设置)部分的下拉列表选择 Latest Release(最新版本)来配置专用层级集群。

仅当集群运行的是最新的 MongoDB 主要版本时,您才可以将其配置为快速发布节奏。如果集群运行的是之前的主要版本,请手动将其升级到最新的主要版本,以便能够过渡到快速发布版本。

Atlas 将最新的 MongoDB 版本用于遵循快速发布节奏的集群。 Atlas 会通过滚动进程自动将这些集群升级到新的主要版本快速发布版本,以在每个版本可用时保持集群可用性。在升级到下一个快速发布版本期间,Atlas 用户界面Database Deployments页面中的集群可能会显示集群的FCV而不是 MongoDB 版本,以反映集群当前可用的功能。

注意

如果您将集群从主要发布切换到快速发布节奏,则它将直接升级到当前可用的快速发布版本。例如,如果 MongoDB 6.2 是最新的快速发布版本,当您为运行 6.0 的集群配置了快速发布节奏时,它将直接升级到 MongoDB 6.2

通过从 Select a Version(选择版本)下拉菜单中选择最新的主要版本,您可以将遵循快速发布节奏的集群恢复为主要发布节奏。但是,您只能在一年中的第一个快速发布之前执行此操作。集群从主要发布版本更新到快速发布版本后,您无法在下一个主要版本之前恢复集群。

要了解有关 MongoDB 版本的更多信息,请参阅 MongoDB 手册中的MongoDB 版本控制。有关快速发布节奏的更多详细信息,请参阅了解 MongoDB 稳定版 API 和快速发布节奏。

本节介绍 Atlas 群集的备份配置选项。

Atlas 会自动启用 M2M5 共享集群的备份,并且无法将其禁用。要了解详情,请参阅共享集群备份

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

注意

如果您已启用备份合规策略,则无法禁用云备份。如果备份合规策略将 Require Point in Time Restore to all clusters 选项设置为 On 而无需 MongoDB 支持,则您无法禁用连续云备份。要禁用连续云备份,根据备份合规策略指定的安全代表或法定代表必须请求支持并完成大量的验证流程。

Atlas 为 M10+ 集群提供以下备份选项:

备份选项
说明
Atlas 会对集群中的数据拍摄增量快照,并允许您从这些快照中恢复数据。Atlas 将快照存储在与快照目标副本集成员相同的云提供商区域中。
Atlas 恢复快照后,Atlas 会重放oplog ,以便在备份策略指定的窗口内从特定时间点恢复集群。
传统备份已于 2020 年 3 月 23 日弃用。

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

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

要了解有关终止群集的更多信息,请参阅终止一个部署

提示

您可以配置 Online Archive,将 Atlas 集群中不常访问的数据转移到 MongoDB 托管的只读联合数据库实例,而不是对集合分片或升级集群层级。要了解有关 Online Archive 的更多信息,请参阅管理 Online Archive

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

分片集群支持水平扩展,由分配置服务器mongos路由器组成。要了解更多信息,请参阅关于配置服务器部署。配置服务器必须保持可读,分片读取操作才能继续运行

Atlas 将每个分片部署为三节点副本集,其中每个节点使用配置的Cloud Provider & RegionCluster TierAdditional Settings进行部署。 Atlas 为每个分片节点部署一个mongod

对于跨区域集群,每个分片的节点数等于所有配置区域中可选举节点和只读节点的总数。Atlas 会将分片节点分配到所选区域。

Atlas 将配置服务器部署为三节点副本集。配置服务器在 M 30集群层上运行。在多区域集群中,配置服务器分布在各个区域。

对于跨区域集群,Atlas 会分配配置服务器副本集节点以确保最佳可用性。例如,如果所选云服务提供商和区域配置支持,Atlas 可能会跨三个不同的可用区和三个不同的区域部署配置服务器。配置服务器必须保持可读,分片读操作才能继续运行。要了解更多信息,请参阅配置服务器可用性。

影响分片集群中最高优先级区域的区域中断或区域中断模拟可能会导致集群无法进行读取操作。要恢复配置服务器,请执行以下操作:

  • 配置适合查询从节点以进行读取的读取偏好

  • 重新配置集群,从而重新获得可选举节点。

Atlas 为每个分片中的每个节点部署一个mongos路由器。对于跨区域集群,这允许使用 MongoDB 驱动程序的客户端连接到地理位置“最近”的mongos

要计算集群中mongos路由器的数量,请将分片数量乘以每个分片的副本集节点数量。

您无法将分片集群部署转换为副本集部署。

要进一步了解服务器实例数量如何影响成本,请参阅节点数量

要了解有关分片集群的更多信息,请参阅MongoDB手册中的分片。

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

您可以设置要在共享分片中部署的分片数量。您的集群可以包含 1 到 50 个分区(含 1 和 50)。

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

  • "shard0"

  • "shard1"

  • "shard2"

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

重要

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

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

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

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

不要为生产环境创建单分片的分片集群。单分片的分片集群无法提供与多分片配置相同的优势。

如果您的集群层为 M30 或更高层即,您可以将副本集部署升级到分片集群部署。

升级完成后,您必须重新启动所有应用程序客户端并重新连接到分片集群。如果不重新启动应用程序客户端,在 Atlas 开始跨分片分发数据后,您的数据可能会出现不一致。

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

注意

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

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

如果启用,请选择 BI Connector for Atlas 应从中读取数据的节点类型。

下表描述了BI Connector的可用读取偏好及其相应的readPreferencereadPreferenceTag连接字符串选项。

BI Connector 读取偏好
说明
readPreference
readPreferenceTags
主节点
节点读取。
primary
从节点
节点读取。
secondary
{ nodeType : ELECTABLE }{ nodeType : READ_ONLY }
分析
分析节点读取。
secondary
{ nodeType : ANALYTICS }

nodeType 读取偏好标记表明了 BI Connector for Atlas 连接到的节点类型。您可以为该选项指定以下值:

  • ELECTABLE BI Connector 限制 为主 节点和可选的从节点。

  • READ_ONLY 限制BI Connector连接到不可选举的从节点。

  • ANALYTICS 限制BI Connector连接到分析节点。

    提示

    当您使用Analytics Analytics(分析)读取偏好时,Atlas 会将 BI Connector for Atlas 放置在与其从中读取数据的分析节点相同的硬件上。

    通过将可选举数据承载节点与 BI Connector for Atlas 隔离,可选举节点不会与 BI Connector for Atlas 争夺资源,从而提高集群的可靠性和性能。

对于高流量生产环境,连接到 Secondary Node(s)(从节点)或 Analytics Node(s)(分析节点)可能比连接到 Primary Node(主节点)更好。

对于具有一个或多个分析节点的集群,请选择 Analytics Node(分析节点)将 BI Connector for Atlas 查询与操作工作负载隔离开来,并从专用的只读分析节点读取数据。使用此选项,可选举节点不会与 BI Connector for Atlas 争夺资源,从而提高集群的可靠性和性能。

BI Connector 通过对 MongoDB 中的数据进行采样来生成关系模式。您可以配置以下采样设置:

BI Connector 选项
类型
说明
模式样本大小
整型
可选。 BI Connector 在收集模式信息时为每个数据库采样的文档数量。要了解更多信息,请参阅BI Connector 文档。
样本刷新间隔
整型
可选。 BI Connector 重新采样数据以重新创建模式的频率(以秒为单位)。要了解更多信息,请参阅BI Connector 文档。

注意

此功能不适用于 M0 免费集群、M2M5 集群。要详细了解哪些功能不可用,请参阅 Atlas M0(免费集群)、M2 和 M5 限制

Atlas 会对所有集群存储和快照卷进行加密,确保所有集群静态数据的安全(静态加密)。 Atlas Project Owners可以使用 MongoDB 加密存储引擎及其与 Atlas 兼容的静态加密提供程序对其静态数据配置一个额外的加密层。

Atlas 支持以下静态加密提供程序:

  • 在为 Atlas 集群启用该功能之前,您必须使用密钥管理将 Atlas 项目配置为静态加密。要了解详情,请参阅使用客户密钥管理进行静态加密

  • 要将集群的一个静态加密提供切换到另一个,必须首先禁用集群的静态加密,然后使用所需的静态加密提供程序重新启用静态加密。要了解详情,请参阅使用客户密钥管理进行静态加密

要开始管理此集群的加密密钥,请将 Encryption using your Key Management (M10 and up)(使用密钥管理加密”(M10 及更高版本))切换为 Yes(是)。

使用密钥管理的 Atlas 静态加密适用于 M10+ 副本集集群。Atlas 静态加密支持对备份数据库部署进行加密。您无法在使用传统备份(已弃用)的集群上启用静态加密。

管理您自己的加密密钥会增加集群的每小时运行成本。要详细了解 Atlas 对高级安全功能的计费信息,请参阅高级安全

重要

如果 Atlas 无法访问 Atlas 项目密钥管理提供程序或用于加密集群的加密密钥,该集群将变得无法访问且无法恢复。在修改、删除或禁用 Atlas 使用的加密密钥或密钥管理提供程序凭证之前,请务必小心谨慎。

您可以在M10+付费层集群上配置以下mongod运行时选项。

Atlas 会动态修改副本集和分片集群的 Oplog Size(Oplog 大小)。但对于 Minimum TLS Protocol Version(最低 TLS 协议版本)和 Allow Server-Side JavaScript(允许服务器端 Javascript)设置,它会对分片成员和配置服务器副本集执行滚动重启。要详细了解 Atlas 如何在维护操作期间支持高可用性,请参阅 MongoDB Atlas 如何提供高可用性?

要查看和编辑这些设置:

修改集群oplog中 oplog 条目的保留时间。默认情况下,Atlas 会将条目保留24小时,然后由mongod将其从 oplog 中删除。

此选项对应于修改集群中每个 的storage.oplogMinRetentionHours mongod配置文件选项。

要设置最小 oplog 窗口:

  1. 验证存储自动伸缩是否已启用并且您没有选择退出。Atlas 默认启用自动伸缩。

  2. 将最小 oplog 窗口设置为所需的值。如果您不设置此值,Atlas 会将 oplog 条目保留24小时,然后mongod将其从 oplog 中删除。

您可能想要设置固定的 oplog 大小。例如,这在实时迁移或密集数据加载期间非常有用。

仅当您选择退出集群的存储自动扩展时,才能设置 Set Oplog Size的配置设置。

对于已启用存储自动伸缩的集群,您可以改为设置Minimum Oplog Window 。请参阅设置最小 Oplog 窗口。 Atlas 默认启用存储自动伸缩。

您可以设置的最小 oplog 大小为 990 MB。如果您选择的 oplog 大小会使集群的磁盘可用容量少于 25%,则 Atlas 会返回错误。

检查 oplog 的大小:

  1. 通过mongosh连接到您的集群。

  2. Atlas admin 角色的用户身份进行身份验证。

  3. 运行rs.printReplicationInfo()方法。

Atlas 可显示当前 oplog 的大小和时间。

要设置固定的 oplog 大小,请执行以下操作:

  1. 选择退出存储自动伸缩

  2. 最小 Oplog 窗口设置为0

  3. 在输入框中指定所需的 Oplog Size 大小(以 MB 为单位)。

    对于分片集群部署,此选项会修改集群中每个分片的 oplog 大小。

    此选项对应于修改集群中每个 的replication.oplogSizeMB mongod配置文件选项。

    警告

    减少 oplog 的大小需要从 oplog 中删除数据。Atlas 无法访问或恢复因 oplog 缩减而删除的任何 oplog 条目。在缩减 oplog 之前,请考虑数据丢失的后果。

请勿通过减小 oplog 的大小来增加可用磁盘空间。只有 oplog 集合 (local.oplog.rs) 可以回收减少 oplog 大小所节省的空间。其他集合不会因减少 oplog 存储量而受益。

启用或禁用强制执行 1024 字节索引键限制。只有在目标集合的所有索引字段的相应索引条目不超过 1024 字节的情况下,才能更新或插入文档。

如果禁用, mongod会写入超出限制的文档,但不会对其进行索引。此选项对应于通过setParameter命令为集群中的每个mongod修改param.failIndexKeyTooLong参数。

重要

索引键限制

param.failIndexKeyTooLong 已在 MongoDB 4版本中弃用。 2并已在 MongoDB 4中删除。 4及更高版本。对于4之前的 MongoDB。 2 ,将此参数设置为false

启用或禁用执行服务器侧执行 JavaScript 的操作。

注意

在 MongoDB 版本5中。在0及更高版本中, security.javascriptEnabled也适用于mongos

在 MongoDB 日志中包含经编辑和匿名化的 $queryStats 输出。$queryStats 输出不包含文字或字段值。启用此设置可能会影响集群的性能。

注意

您只能为运行 MongoDB 7.1 或更高版本的 Atlas 集群启用查询数据日志记录。

设置集群接受传入连接的最低 TLS 版本。此选项对应于为集群中的每个net.ssl.disabledProtocols 配置mongod 配置文件选项。

注意

不推荐使用 TLS 1.0

如果您考虑通过此选项来启用已弃用的传输层安全性 (TLS) 1.0 版本协议,请先参阅 Atlas 支持哪些 TLS 版本?然后再继续。Atlas 弃用 TLS 1.0 可提高传输中数据的安全性并符合行业最佳实践。为任何 Atlas 集群启用 TLS 1.0 都会带来安全风险。在更新应用程序堆栈以支持 TLS 1.1 或更高版本时,请考虑仅在需要时启用 TLS 1.0。

启用或禁用执行需要集合扫描才能返回结果的查询。此选项对应于通过notablescan setParametermongod命令为集群中的每个 修改 参数。

设置MongoDB 为此集群的写入操作请求的默认确认级别

注意

您只能为运行 MongoDB 5.0 或更高版本的 Atlas 集群设置默认写关注。

MongoDB 5 。 0集群默认为1 。

从 MongoDB 5开始。 0 ,集群的默认写关注为“ 多数”。

设置 多文档事务 的最长生命周期。此选项对应于通过transactionLifetimeLimitSeconds setParameter命令为集群中的每个mongod 修改 参数。

重要

不能将事务生命周期设置为小于一秒。

集群的默认事务生命周期为 60 秒。

对于运行 MongoDB 5版本的 Atlas 分片集群。 0 。 15或6 。 0 。 6及更高版本中,可以设置源分片和接收分片上的线程数,以提高数据段迁移的性能。您可以将该值设置为 CPU 内核总数的一半。要了解详情,请参阅chunkMigrationConcurrency

要启用快速 磁盘预热 对于集群,将 切换为Allow Fast Disk Pre-Warming Yes

要为集群禁用快速磁盘预热,请将Allow Fast Disk Pre-Warming切换为No

由于底层云提供商基础架构的设计,每当 Atlas 需要在集群中预配新节点时(例如,当您向现有区域添加新节点时),都会发生磁盘预热。磁盘预热暂时使用隐藏的从节点。

快速磁盘预热比背景磁盘预热更快。默认,Atlas 会为您的部署启用快速磁盘预热。启用磁盘预热后,Atlas 会隐藏该节点,从而阻止该节点运行读取操作。

请考虑以下建议:

  • 如果工作负载需要一致的查询延迟,请启用此设置。

  • 如果您的工作负载在一致的查询性能上寻求最大可用性保证,并且您要求新添加或替换的节点立即处于活动和可见状态,请禁用此设置,并为进行预热的节点使用带有标签的自定义连接字符串,直到预热过程完成。使用此连接字符串可防止在节点上进行读取,而其大部分 IOPS都用于预热过程。

← 配置自动伸缩