升级至 MongoDB Enterprise(分片集群)
MongoDB Enterprise 提供 MongoDB Community 版本中不提供的各种功能,例如:
以下步骤概述了将分片集群从 MongoDB Community Edition升级到 MongoDB Enterprise Edition的过程。 例如,这些步骤可用于将 MongoDB 6.0 社区版升级到 MongoDB 6.0 企业版。
关于此任务
升级主要版本
警告
请勿使用这些说明升级到其他发布版本。 要升级版本,请参阅相应的版本升级说明,例如升级到 MongoDB 6.0。
Ops Manager
借助 Ops Manager ,您可以自动从MongoDB Community Server升级到MongoDB Enterprise Server。
滚动升级
手动更新分片的集群时,您可以对分片副本集和配置服务器执行滚动升级,以在最短停机时间内将每个MongoDB Community Server更新到 Enterprise 版。
在滚动升级中,每个从节点(secondary node from replica set)都会被关闭和升级。企业服务器作为从从节点(secondary node from replica set)重新加入副本集。当所有从节点都升级后,您可以降级主节点 (primary node in the replica set),强制副本集选择一台 Enterprise 服务器作为新的主节点 (primary node in the replica set)。
步骤
要最大限度地减少停机时间,请手动将每个服务器从MongoDB Community Server升级到 Enterprise Edition:
停止负载均衡器
在升级期间,负载均衡器不应尝试在分片之间重新分发数据。要防止负载均衡器尝试重新分发数据,请在升级期间停止负载均衡器。
要停止负载均衡器,请连接到mongos
并运行sh.stopBalancer()
方法:
sh.stopBalancer()
如果正在进行均衡轮次,则操作会等待均衡完成后再继续执行。
要确认负载均衡器已停止,请使用 sh.getBalancerState()
方法:
sh.getBalancerState()
false
当负载负载均衡器停止时,该命令会返回 false
。
升级路由器 (mongos)
将mongos
实例从社区版安装滚动升级到企业版。
连接到
mongos
并停止路由器进程:db.getSiblingDB("admin").shutdownServer() 如果您在Linux上使用包管理器安装了
mongos
,则必须先删除现有软件包,然后再安装 Enterprisemongos
要删除Community
mongos
,请执行以下操作:如需从 RHEL、 CentOS、Alma Linux、 Oracle、Rocky 和Amazon Linux中删除社区
mongos
,运行以下命令:sudo dnf remove mongodb-mongos 要从Ubuntu和Debian中删除社区
mongos
,运行以下命令:sudo apt remove mongodb-mongos 要从SUSE Enterprise Linux中删除社区
mongos
,运行以下命令:sudo zypper remove mongodb-mongos 根据您的操作系统,您可以使用包管理器安装 MongoDB Enterprise 二进制文件,或手动下载该二进制文件。
如果您已使用包管理器安装了 MongoDB Community,请按照适合您操作系统的包管理器说明进行操作:
如果您尚未使用包管理器安装MongoDB ,则可以从MongoDB下载中心手动下载MongoDB二进制文件。 请按照适用于您的操作系统的手册说明进行操作,包括MongoDB Enterprise的特定先决条件:
重要
安装到与当前 MongoDB Community Edition 不同的位置。
在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。
重要
如果在同一计算机上安装了同一版本系列的MongoDB Community Edition,则无法使用
.msi
安装企业版。也就是说,如果您的版本为 4.4.0 安装MongoDB Community Edition后,无法使用.msi
安装 4.4.0 或 4.4.1 企业版。从MongoDB下载中心手动下载存档文件。
要进行安装,请将文件解压缩到与当前 MongoDB Community Edition 不同的位置。
在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。
安装二进制文件:
从MongoDB下载中心手动下载存档文件。
将文件解压缩到与当前MongoDB Community Edition不同的位置。 有关提取文件的详细信息,请参阅macOS。
在升级过程中,您将使用现有的数据目录和现有的配置文件(如果适用)。
要启动路由器,请使用与社区
mongos
相同的配置运行企业版mongos
。例如:
sudo mongos --config /etc/mongos.conf
重启负载均衡器
要重新启动负载均衡器,请连接到mongos
并使用sh.startBalancer()
方法:
sh.startBalancer()
要确认负载均衡器正在运行,请使用 sh.getBalancerState()
方法:
sh.getBalancerState()
true
当负载均衡器运行时,该命令返回 true
。
重要
在使用任何企业版功能之前,请确保所有节点均已升级到企业版。