Skip to content

滚动升级

在集群中的 EMQX 节点可以一次一个地进行升级,无需停掉整个集群。这个过程被称为滚动升级。为了实现平滑的客户端会话迁移,在 EMQX 企业版中您可以使用集群重平衡功能,在升级节点之前将客户端从节点中迁移到其他节点。您可以在此处找到有关集群重平衡更多信息。

集群节点的滚动升级过程如下:

  1. 使用集群重平衡将客户端从节点中清除。(可选)
  2. 停止旧版本节点。
  3. 备份节点的配置文件和数据目录。
  4. 安装新版本的 EMQX。
  5. 启动新版本节点。

注意

在滚动升级期间,不要进行全局配置更改。从 Dashboard、HTTP API 或 CLI 进行的配置更改将应用于集群中的所有节点。在滚动升级期间进行配置更改可能会导致节点不同步。

RPM 和 DEB

当使用 RPM 或 DEB 包时,您可以通过简单地安装新版本的包来升级 EMQX。

Docker

使用Docker时,您可以通过简单地拉取新版本的镜像并重新启动容器来升级 EMQX。

从开源版升级到企业版

如果您正在运行 EMQX 的开源版本,并希望升级到企业版,这个过程与升级到开源版的新版本相同。

在安装和升级方面,EMQX 的开源版和企业版没有区别。唯一的注意点是,在每次升级后,您需要手动在 emqx.conf 中为企业版节点配置您的 License,但是在所有节点升级之前,不能将 License 应用于整个集群。

例如,在 emqx.conf 中添加以下行:

license.key = "你的 license"

注意

如果在 emqx.conf 中添加 License 的配置,那么来自 Dashboard、HTTP API 或 CLI 的更改会在节点重启后失效, 这是因为节点启动加载配置时,emqx.conf 和环境变量具有最高优先级。