Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

升级至 MongoDB Enterprise(分片集群)

在此页面上

  • 考虑因素
  • 下载企业版二进制文件
  • 开始之前
  • 步骤

MongoDB Enterprise 提供 MongoDB Community 版本中不提供的各种功能,例如:

  • 用于自管理部署的内存存储引擎

  • 审核自管理部署

  • 自管理部署上的 Kerberos 身份验证

  • 自 管理部署上的LDAP 管理LDAP代理身份验证 和 LDAP 授权

  • 静态加密

以下步骤概述了将分片集群从 MongoDB Community Edition 升级到 MongoDB Enterprise Edition 的过程。例如,这些步骤可用于将 MongoDB 7.0 Community 升级到 MongoDB 7.0 Enterprise。

警告

请勿使用这些说明升级到其他发布版本。如需升级发布版本,请参阅相应的版本升级说明,如升级到 MongoDB 8.0

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

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

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

如果您没有使用包管理器安装MongoDB ,则可以从 MongoDB下载中心手动下载MongoDB二进制文件。 请按照适用于您的操作系统的手册说明进行操作,包括MongoDB Enterprise的特定先决条件:

重要

安装到与当前 MongoDB Community Edition 不同的位置。

在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。

重要

如果您在同一计算机上安装了同一发布系列的MongoDB Community Edition ,则无法使用 .msi 安装 Enterprise 版。 也就是说,如果您有版本4.4.0 安装了MongoDB Community Edition ,则无法使用 .msi 安装 4.4.0 或 4。4。1 企业版。

  1. MongoDB下载中心手动下载存档文件。

  2. 要进行安装,请将文件解压缩到与当前 MongoDB Community Edition 不同的位置。

    在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。

安装二进制文件:

  1. MongoDB下载中心手动下载存档文件。

  2. 将文件解压缩到与当前MongoDB Community Edition不同的位置。 有关提取文件的详细信息,请参阅macOS。

    在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。

从MongoDB 8.0开始,您可以使用directShardOperations角色执行需要直接对分片执行命令的分片操作。

警告

使用directShardOperations角色运行命令可能会导致集群停止正常工作,并可能导致数据损坏。 仅将directShardOperations角色用于维护目的或在MongoDB支持的指导下使用。 执行完维护操作后,请停止使用directShardOperations角色。

为了最大限度地减少停机时间,您可以使用“滚动”升级从 MongoDB Community 升级到企业版,即在其他节点可用时单独升级节点。

1

mongosh 连接到分片集群中的 mongos 实例,然后运行 sh.stopBalancer() 以禁用负载均衡器:

sh.stopBalancer()

注意

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

要验证是否禁用了负载均衡器,请运行 sh.getBalancerState();如果已禁用负载均衡器,则会返回 false:

sh.getBalancerState()

从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。

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

有关禁用负载均衡器的更多信息,请参阅禁用负载均衡器

2
  1. 逐个升级副本集的从节点成员:

    1. 关闭从节点 mongod 实例。

    2. 使用 Enterprise mongod 重新启动节点,指定相同的配置选项(例如相同的数据目录、配置文件等)。

    3. 等待成员恢复到 SECONDARY 状态,然后再升级下一个从节点成员。要检查成员状态,请在 mongosh 中发出 rs.status()

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

  2. 降级副本集主节点。

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

    rs.stepDown()
  3. rs.status() 显示主节点已降级,并且另一个节点成为主节点时,升级已降级的主节点:

    1. 关闭降级主节点。

    2. 使用 Enterprise mongod 重新启动,指定相同的配置选项(例如 相同的数据目录、配置文件等)。

3

一次升级一个分片。

对于每个分片副本集:

  1. 逐个升级副本集的从节点成员:

    1. 关闭从节点 mongod 实例。

    2. 使用 Enterprise mongod 重新启动节点,指定相同的配置选项(例如相同的数据目录、配置文件等)。

    3. 等待成员恢复到 SECONDARY 状态,然后再升级下一个从节点成员。要检查成员状态,请在 mongosh 中发出 rs.status()

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

  2. 降级副本集主节点。

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

    rs.stepDown()
  3. rs.status() 显示主节点已降级,并且另一个节点成为主节点时,升级已降级的主节点:

    1. 关闭降级主节点。

    2. 使用 Enterprise mongod 重新启动,指定相同的配置选项(例如 相同的数据目录、配置文件等)。

4

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

5

使用 mongosh 连接到集群中的 mongos,然后运行 sh.startBalancer() 重新启用负载均衡器:

sh.startBalancer()

从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。

在 6.0.3 之前的 MongoDB 版本中,sh.startBalancer() 还支持分片集群的自动拆分。

有关负载均衡器的更多信息,请参阅启用负载均衡器

重要

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

后退

副本集(Replica Set)