重要
MongoDB 8.3 是最新的次要发布。从MongoDB 8.2 开始,针对特定使用案例的本地部署部署(社区和 EA)可使用次要版本。 有关更多信息,请参阅 MongoDB版本控制。
要安装支持本地部署使用的最新MongoDB版本,请参阅安装说明。
MongoDB Enterprise 提供 MongoDB Community 版本中不提供的各种功能,例如:
自管理LDAP代理身份验证和自管理部署上的LDAP授权(在MongoDB 8.0 中已弃用。请参阅LDAP弃用)
以下步骤概述了将分片集群从 MongoDB Community Edition 升级到 MongoDB Enterprise Edition 的过程。例如,这些步骤可用于将 MongoDB 7.0 Community 升级到 MongoDB 7.0 Enterprise。
考虑因素
警告
请勿使用这些说明升级到其他发布版本。如需升级发布版本,请参阅相应的版本升级说明,如升级到 MongoDB 8.3。
下载企业版二进制文件
根据您的操作系统,您可以使用包管理器安装 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 企业版。
从MongoDB下载中心手动下载存档文件。
要进行安装,请将文件解压缩到与当前 MongoDB Community Edition 不同的位置。
在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。
安装二进制文件:
从MongoDB下载中心手动下载存档文件。
将文件解压缩到与当前MongoDB Community Edition不同的位置。 有关提取文件的详细信息,请参阅macOS。
在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。
步骤
为了最大限度地减少停机时间,您可以使用“滚动”升级从 MongoDB Community 升级到企业版,即在其他节点可用时单独升级节点。
禁用负载均衡器。
将 mongosh 连接到分片集群中的 mongos 实例,然后运行 sh.stopBalancer() 以禁用负载均衡器:
sh.stopBalancer()
注意
如果迁移正在进行,系统将在停止负载均衡器之前完成进行中的迁移。你可以运行 sh.isBalancerRunning() 以检查负载均衡器的当前状态。
要验证是否禁用了负载均衡器,请运行 sh.getBalancerState();如果已禁用负载均衡器,则会返回 false:
sh.getBalancerState()
从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。
在 6.0.3 之前的 MongoDB 版本中,sh.stopBalancer() 还会禁用分片集群的自动拆分。
有关禁用负载均衡器的更多信息,请参阅禁用负载均衡器。
升级配置服务器。
逐个升级副本集的从节点成员:
关闭从节点
mongod实例。使用 Enterprise
mongod重新启动节点,指定相同的配置选项(例如相同的数据目录、配置文件等)。等待成员恢复到
SECONDARY状态,然后再升级下一个从节点成员。要检查成员状态,请在mongosh中发出rs.status()。
对每个剩余的从节点重复上述操作。
降级副本集主节点。
将
mongosh连接到主节点,并使用rs.stepDown()降级主节点,强制选举新的主节点:rs.stepDown() 当
rs.status()显示主节点已降级,并且另一个节点成为主节点时,升级已降级的主节点:关闭降级主节点。
使用 Enterprise
mongod重新启动,指定相同的配置选项(例如 相同的数据目录、配置文件等)。
升级分片。
一次升级一个分片。
对于每个分片副本集:
逐个升级副本集的从节点成员:
关闭从节点
mongod实例。使用 Enterprise
mongod重新启动节点,指定相同的配置选项(例如相同的数据目录、配置文件等)。等待成员恢复到
SECONDARY状态,然后再升级下一个从节点成员。要检查成员状态,请在mongosh中发出rs.status()。
对每个剩余的从节点重复上述操作。
降级副本集主节点。
将
mongosh连接到主节点,并使用rs.stepDown()降级主节点,强制选举新的主节点:rs.stepDown() 当
rs.status()显示主节点已降级,并且另一个节点成为主节点时,升级已降级的主节点:关闭降级主节点。
使用 Enterprise
mongod重新启动,指定相同的配置选项(例如 相同的数据目录、配置文件等)。
重新启用负载均衡器。
使用 mongosh 连接到集群中的 mongos,然后运行 sh.startBalancer() 重新启用负载均衡器:
sh.startBalancer()
从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。
在 6.0.3 之前的 MongoDB 版本中,sh.startBalancer() 还支持分片集群的自动拆分。
有关负载均衡器的更多信息,请参阅启用负载均衡器。
重要
在使用任何企业版功能之前,请确保所有节点均已升级到企业版。