Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs 菜单
Docs 主页
/ /

过渡到专用配置服务器

注意

如果您运行的是自管理部署,请参阅 从嵌入式配置服务器到专用配置服务器的转换,学习;了解如何使用 transitionToDedicatedConfigServer数据库命令转换配置服务器类型。

当分片集群使用嵌入式配置服务器(称为配置分片)时, Atlas或用户可以将集群过渡为使用专用配置服务器。通过嵌入式配置服务器,配置分片可存储集群元数据和用户数据。使用专用配置服务器时,配置节点仅存储元数据。在某些条件下, Atlas会自动将集群从嵌入式配置服务器过渡到专用配置服务器。您也可以手动启动转换。

从嵌入式配置服务器是一项在线操作,需要将所有用户数据从配置分片移出。对于配置分片上有大量数据的集群,此进程可能需要数小时到数天。在开始过渡之前,请确认以下内容:

  • 您的目标分片有足够的空间。在迁移过程中,从配置分片接收数据的分片会发现 CPU、内存和 I/O 增加。过渡运行时, Atlas无法扩展集群层或修改存储,因为一次只能运行一个长时间运行的计划。如果接收分片接近容量,请在开始过渡之前对其扩展扩展。

  • 您的集群仅使用支持的功能。 配置分分片上的MongoDB Search、 MongoDB Vector Search、未分片的时间序列集合和未分片的可查询加密集合区块自动转换。有关阻塞功能的完整列表,请参阅限制和例外情况。

  • 删除 system.profile 然后再在早期MongoDB版本上进行过渡。 配置分分片上的 system.profile集合可能会区块转换。如果已启用分析,请在开始过渡前删除system.profile ,或者升级到MongoDB8.2.7 或更高版本。

启用 Atlas 托管配置服务器后, Atlas会自动管理嵌入式配置服务器和专用配置服务器之间的转换。下图显示了Atlas何时触发每次转换:

“当分片计数增加到超过 3 且没有阻塞功能时, Atlas会从嵌入式配置服务器转换为专用配置服务器。”
点击放大

Atlas默认为所有 集群默认Atlas 8.0托管的配置服务器。启用后, Atlas会根据分片计数自动在配置服务器类型之间转换集群:

  • 当分片计数增加到超过 3 时, Atlas会从嵌入式配置服务器转换为专用配置服务器。

  • 当分片计数减少到 3 个或更少时, Atlas从专用配置服务器转换为嵌入式配置服务器。

要手动触发到专用配置服务器的转换,请完成以下步骤:

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

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

  3. 在侧边栏中,单击 Database 标题下的 Clusters

会显示集群页面。

2

单击集群名称旁边的 ,然后选择Edit Configuration 。展开Additional Settings 面板,为集群配置其他设置。

3

关闭 Atlas-Managed Configuration Servers 开关。

Additional Settings > More Configuration Options 下,关闭 Atlas-Managed Configuration Servers 开关。

4

单击 Review Changes,然后单击 Apply Changes。 Atlas立即开始转换为专用配置服务器。

MongoDB无法移动配置元元数据,因此Atlas必须首先清空配置分片config-0 中的所有用户数据,然后才能过渡到专用配置服务器。作为过渡的一部分, Atlas添加了一个替换分片以维持目标分片数量,因为 config-0 不再提供用户数据。

下表显示了在启用 Atlas 托管配置服务器的情况下将第四个分片添加到3 -分片集群时Atlas执行的步骤,这将启动过渡。

步驟
操作
有效分片数

开始

3- 具有嵌入式配置服务器的分片集群(config-0shard-0shard-1

3

1

Atlas添加 shard-2,使集群达到目标分片数量。集群现在有 4 个面向用户的分片:shard-0shard-1shard-2config-0,它们仍然存储用户数据。

4

2

Atlas运行transitionToDedicatedConfigServer ,它会在内部于removeShard 上运行config-0 。分片集合使用数据块迁移通过负载负载均衡器引流到其他分片。未分片集合通过moveCollection 移动。

4(正在进行清空)

3

Atlas等待orphanCleanupDelaySecs config-08.2.7过去,然后再确认 已清除。在运行 之前的MongoDB版本的集群上, Atlas会等待所有范围删除完成,这可能需要更长的时间。

4(正在进行清理)

4

config-0 转换为专用配置服务器。 Atlas添加 shard-3 以恢复目标分片数量。 4 面向用户的分片现在是 shard-0shard-1shard-2shard-3

4

5

Atlas将 config-0 缩减为专用配置服务器的默认M30。

4

过渡持续时间取决于配置分分片上的用户数据量。清空配置分片涉及分片的集合的数据数据块迁移和未分片集合的 moveCollection 操作,这两种操作都会通过网络移动数据。持续时间因数据集大小而异:

  • 小型数据集(几GB):几分钟到几小时不等

  • 大型数据集(数百GB到数 TB):数小时到数天

注意

如果您的集群在 配置分片上有大量数据,请在流量低谷期执行过渡。

从嵌入式配置配置服务器会对集群的运行产生以下影响:

  • 无需停机。过渡是在线的。您的应用程序在整个过程中都会持续读取和写入。

  • 接收分片时的资源使用量增加。在迁移期间,从配置分片吸收数据的分片可能会遇到更高的 CPU、内存和 I/O。受影响分片上的应用程序延迟可能会略有增加。

  • Atlas plan 锁。过渡运行期间, Atlas无法在集群上执行其他长时间运行的计划,例如扩展集群层、更改存储或添加或删除其他分片。一次只能运行一个长时间运行的计划。

警告

请勿在过渡开始后取消过渡。

下图显示了可用于监控过渡进度的方法:

“监控嵌入式配置服务器到专用配置服务器的转换进度。”
点击放大

过渡期间, Atlas会在集群页面上显示以下横幅:

We are deploying your changes (current action: transitioning config server type).

Atlas不会自动为使用以下功能的集群过渡配置服务器。如果您的集群使用这些功能之一并需要更改配置服务器类型,联系MongoDB支持部门:

功能
自动转换
解决方案

MongoDB搜索/向量搜索

Atlas将配置服务器类型固定为启用搜索时的类型。该限制适用于分片的和非分片集合。

已阻止(固定)

未分片时间序列

MongoDB Server在版本 8.0.10 中取消了根本的限制,但Atlas尚未采用此更改。

被阻止

未分片 Queryable 加密

moveCollection 不支持Queryable 加密集合。

被阻止

Atlas 全球集群

不支持嵌入式配置服务器。

不适用

始终专注

副本集到分片集群的转换

当您在Atlas中将副本集转换为分片集群时,生成的集群始终使用专用配置服务器,而无论 Atlas-Managed Configuration Servers 设置如何。

不适用

以上都不是

允许

Proceeds online

后退

集群分片

在此页面上