参考 > 安装 > 将MongoDB社区升级到MongoDB Enterprise > 升级到MongoDB Enterprise(共享群集)
MongoDB Enterprise提供了MongoDB社区版中未提供的各种功能,例如:
以下步骤概述了将分片群集从MongoDB社区版升级到MongoDB企业版的过程。例如,这些步骤可用于将MongoDB 4.0社区升级到MongoDB 4.0 Enterprise。
警告
不要使用这些说明升级到另一个发行版本。要升级发行版,请参阅相应的发行升级说明,例如Upgrade to MongoDB 4.2。
根据您的操作系统,您可以通过使用程序包管理器或手动下载二进制文件来安装MongoDB Enterprise二进制文件。
如果您已使用软件包管理器安装了MongoDB社区,请按照操作系统的软件包管理器说明进行操作:
在安装过程中,程序包管理器将删除社区程序包。在重新启动之前,这不会影响正在运行的部署。
如果尚未使用程序包管理器安装MongoDB,则可以从MongoDB下载中心手动下载MongoDB二进制文件 。请遵循针对您的操作系统的手册说明,包括MongoDB Enterprise的特定先决条件:
重要
请安装到与当前社区版本不同的位置。
在升级过程中,您将使用现有的数据目录以及(如果适用)现有的配置文件。
重要
.msi
如果在同一台计算机上安装了同一发行版的社区版本,则不能使用来安装企业版。也就是说,如果您安装了4.0.0社区版本,则不能使用.msi
来安装4.0.0或4.0.1企业版。
从MongoDB下载中心手动下载存档文件。
安装二进制文件:
从MongoDB下载中心手动下载存档文件。
为了最大程度地减少停机时间,您可以通过“滚动”升级从MongoDB社区升级到企业版,方法是在其他成员可用时分别升级成员。
将mongo
外壳连接到分片mongos
群集中的实例,然后运行sh.stopBalancer()
以禁用平衡器:
注意
如果正在进行迁移,则系统将在停止平衡器之前完成正在进行的迁移。您可以运行
sh.isBalancerRunning()
以检查平衡器的当前状态。
要验证是否禁用了平衡器,请运行run
sh.getBalancerState()
,如果禁用了平衡器,则返回false:
从MongoDB 4.2开始,sh.stopBalancer()
还会禁用分片群集的自动拆分。
有关禁用平衡器的更多信息,请参阅 禁用平衡器。
一次升级 一个副本集的辅助成员:
mongod
实例。mongod
指定相同的配置选项(例如,相同的数据目录,配置文件等)。SECONDARY
状态,然后再升级下一个辅助成员。要检查成员的状态,请rs.status()
在mongo
shell中发出。对其余的每个次要成员重复上述步骤。
降级主副本集。
将mongo
外壳连接到主要数据库,并用于
rs.stepDown()
降低主要数据库并强制选择新的主要数据库:
当rs.status()
显示主节点已卸任而另一成员是主成员时,请升级已卸任的主实体:
mongod
,指定相同的配置选项(例如,相同的数据目录,配置文件等)。一次升级一个碎片。
对于每个分片副本集:
一次升级 一个副本集的辅助成员:
mongod
实例。mongod
指定相同的配置选项(例如,相同的数据目录,配置文件等)。SECONDARY
状态,然后再升级下一个辅助成员。要检查成员的状态,请rs.status()
在mongo
shell中发出。对其余的每个次要成员重复上述步骤。
降级主副本集。
将mongo
外壳连接到主要数据库,并用于
rs.stepDown()
降低主要数据库并强制选择新的主要数据库:
当rs.status()
显示主节点已卸任而另一成员是主成员时,请升级已卸任的主实体:
mongod
,指定相同的配置选项(例如,相同的数据目录,配置文件等)。使用mongo
外壳程序,连接到
mongos
集群中的并运行
sh.startBalancer()
以重新启用平衡器:
从MongoDB 4.2开始,sh.startBalancer()
还可以对分片群集进行自动拆分。
有关平衡器的更多信息,请参阅 启用平衡器。
重要
在使用任何企业功能之前,请确保所有成员都已升级到企业版。