升级到 MongoDB Enterprise(分片集群)

MongoDB 企业版提供了 MongoDB 社区版所没有的各种特性,例如:

以下步骤概述了将分片集群从 MongoDB 社区版升级到 MongoDB 企业版的过程。例如,这些步骤可用于将 MongoDB 6.0 Community 升级到 MongoDB 6.0 Enterprise。

考虑img

WARNING

不要使用这些说明升级到另一个发行版本。要升级发布版本,请参阅相应的发布升级说明,例如升级到 MongoDB 6.0 。

下载企业二进制文件img

根据您的操作系统,您可以使用包管理器或手动下载二进制文件来安装 MongoDB Enterprise 二进制文件。

Linux (Package Manager)Linux (Manual Download)WindowsmacOS

如果您使用包管理器安装了 MongoDB Community,请按照适用于您的操作系统的包管理器说明进行操作:

安装过程中,包管理器会删除社区包;在您重新启动之前,这不会影响正在运行的部署。

程序img

为了最大限度地减少停机时间,您可以使用“滚动”升级从 MongoDB Community 升级到 Enterprise Edition,方法是在其他成员可用时单独升级成员。

禁用平衡器。img

连接mongoshmongos分片集群中的一个实例,并运行sh.stopBalancer()以禁用平衡器:

sh.stopBalancer()

NOTE

如果正在进行迁移,系统将在停止平衡器之前完成正在进行的迁移。您可以运行 sh.isBalancerRunning()以检查平衡器的当前状态。

要验证平衡器是否已禁用,请运行 sh.getBalancerState(),如果平衡器已禁用,则返回 false:

sh.getBalancerState()

从 MongoDB 6.0.3 开始,不执行自动分块。这是因为平衡政策的改进。自动拆分命令仍然存在,但不执行操作。有关详细信息,请参阅 平衡策略更改。

在 MongoDB 6.0 之前的版本中,sh.stopBalancer() 还禁用分片集群的自动拆分。

有关禁用平衡器的更多信息,请参阅 禁用平衡器。

升级配置服务器。img

  1. 一次升级副本集的从节点:

    1. 关闭辅助mongod实例。
    2. 使用 Enterprise 重新启动节点mongod,指定相同的配置选项(例如相同的数据目录、配置文件等)。
    3. 等待节点恢复到SECONDARY状态,然后再升级下一个从节点。要检查节点的状态,请在mongosh.中使用rs.status()命令

    对每个剩余的次要成员重复此操作。

  2. 降级副本集主要。

    连接mongosh到主节点并用于 rs.stepDown()降低主节点并强制选举新的主节点:

    rs.stepDown()
    
  1. rs.status()显示primary已经降级,另一个节点是primary时,升级降级的primary:

    1. 关闭降压初级。
    2. 重新启动 Enterprise mongod,指定相同的配置选项(例如相同的数据目录、配置文件等)。

升级分片。img

一次升级一个分片。

对于每个分片副本集:

  1. 一次升级副本集的从节点:

    1. 关闭辅助mongod实例。
    2. 使用 Enterprise 重新启动成员mongod,指定相同的配置选项(例如相同的数据目录、配置文件等)。
    3. 等待节点恢复到SECONDARY状态,然后再升级下一个从节点。要检查节点的状态,请在mongosh.使用rs.status()命令查看

    对每个剩余的从节点重复此操作。

  2. 降级副本集主节点。

    连接mongosh到主要并用于 rs.stepDown()降低主要并强制选举新的主节点:

    rs.stepDown()
    
  1. rs.status()显示primary已经降级,另一个成员是primary时,升级降级的primary:

    1. 关闭降压初级。
    2. 重新启动 Enterprise mongod,指定相同的配置选项(例如相同的数据目录、配置文件等)。

4个

升级mongos实例。img

对于每个实例,使用 Enterprisemongos关闭 并重新启动,指定相同的配置选项。mongosmongos

5个

重新启用平衡器。img

使用mongosh,连接到 mongos集群中的a并运行 sh.startBalancer()以重新启用平衡器:

sh.startBalancer()

从 MongoDB 6.0.3 开始,不执行自动分块。这是因为平衡政策的改进。自动拆分命令仍然存在,但不执行操作。有关详细信息,请参阅 平衡策略更改。

在 MongoDB 6.0 之前的版本中,sh.startBalancer() 还启用了分片集群的自动拆分。

有关平衡器的更多信息,请参阅 启用平衡器。

IMPORTANT

在使用任何企业功能之前,请确保所有节点都已升级到企业版。

升级到 MongoDB Enterprise(副本集)验证 MongoDB 包的完整性

原文 - Upgrade to MongoDB Enterprise (Sharded Cluster)

译者:陆文龙

Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2023-09-01 17:10:26

results matching ""

    No results matching ""