Docs 主页 → 开发应用程序 → MongoDB Manual
升级至 MongoDB Enterprise(分片集群)
MongoDB Enterprise 提供 MongoDB Community 版本中不提供的各种功能,例如:
以下步骤概述了将分片集群从 MongoDB Community Edition升级到 MongoDB Enterprise Edition的过程。例如,这些步骤可用于升级 MongoDB 4 。 0 MongoDB Community 4 . 0 Enterprise。
考虑因素
警告
请勿使用这些说明升级到其他发布版本。 要升级版本,请参阅相应的版本升级说明,例如升级到 MongoDB 5.0。
下载 Enterprise 二进制文件
根据您的操作系统,您可以使用包管理器或手动下载二进制文件来安装 MongoDB Enterprise 二进制文件。
步骤
为了最大限度地减少停机时间,您可以使用“滚动”升级方式从 MongoDB Community升级到 Enterprise Edition,即在其他成员可用时单独升级各个成员。
禁用负载均衡器。
将 mongosh
连接到分片集群中的mongos
实例,并运行sh.stopBalancer()
以禁用负载均衡器:
sh.stopBalancer()
注意
如果迁移正在进行,系统将在停止负载均衡器之前完成进行中的迁移。您可以运行sh.isBalancerRunning()
来检查负载均衡器的当前状态。
要验证是否禁用了负载均衡器,请运行 sh.getBalancerState()
;如果已禁用负载均衡器,则会返回 false:
sh.getBalancerState()
从 MongoDB 4.2 开始, 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 4.2 开始, sh.startBalancer()
还为分片集群启用自动分割。
有关负载均衡器的更多信息,请参阅启用负载均衡器。
重要
在使用任何 Enterprise 功能之前,请确保所有成员均已升级到 Enterprise 版。