从 4.3 升级到 4.4 版本

4.3 和 4.4 的节点可以运行在同一集群中,可以采用滚动升级从 4.3 升级到 4.4 的最新版本。注意是4.4的最新版本 比如:connection_low_watermark_alarm 配置为 e4.3.7 e4.4.1 新增加了字段。 如果从 e4.3.7 升级到 e4.4.0时,就会无法识别,需要升级到 e4.4.1, 所以推荐升级到 4.4 的最新版本。

推荐按以下步骤完成滚动升级:

  1. 可选步骤:把准备升级的节点从负载均衡器中移除
  2. 停止节点 (e.g. emqx stop,或者 systemctl stop emqx)
  3. 在 4.3 节点上备份data及etc目录(见下文)。
  4. 卸载 4.3 版本。
  5. 安装 4.4 版本,并把备份数据data及配置etc覆盖到相应位置。
  6. 启动 4.4 版本,检查系统是否正常
  7. 可选步骤:把流量导入到此节点。

数据及配置备份

在升级前,应备在每个4.3版本的节点上对 data etc目录中的数据和配置进行备份。 根据不同的安装方式和配置,data etc 目录可能在以下这些位置

  • 环境变量 EMQX_NODE__DATA_DIR 指向的位置
  • 配置文件中 node.data_dir 指向的位置
  • 在 docker 中运行的默认位置: /opt/emqx/data opt/emqx/etc (通常是一个挂在的外部volume)
  • 直接使用 zip 安装包的默认位置: <install-path>/data <install-path>/etc
  • 使用 RPM 或 DEB 安装包安装的默认位置:/var/lib/emqx/ /etc/emqx

以 RPM 默认安装为例,你需要

  1. ## 创建备份文件夹
  2. mkdir -p ~/emqx-backup/etc/
  3. mkdir -p ~/emqx-backup/data/
  4. ## 确认本节点emqx已经停止运行
  5. systemctl stop emqx
  6. systemctl status emqx
  7. ## 复制备份文件
  8. cp -r /etc/emqx ~/emqx-backup/etc/
  9. cp -r /var/lib/emqx/ ~/emqx-backup/data/

卸载 4.3 版本

以RPM默认安装为例:

  1. ## 查看确认安装的版本是否为需要卸载的
  2. rpm -qa | grep emqx
  3. ## 确认无误后卸载旧版本
  4. rpm -e emqx-4.3.x-x.x86_64

安装 4.4 版本, 并导入4.3版本数据。

  • 以RPM默认安装为例:
  1. rpm -ivh emqx-ee-4.4.0-otp24.1.5-3-centos7-amd64.rpm
  • 导入上步已备份的4.3数据及配置。
  1. cp -r ~/emqx-backup/etc/ /etc/emqx/
  2. cp -r ~/emqx-backup/data/ /var/lib/emqx/

启动 4.4 版本

如果你使用的是systemctl启动:

  1. systemctl start emqx
  2. systemctl status emqx
  • 通过emqx_ctl 查看集群状态
  1. /usr/bin/emqx_ctl cluster status
  • 查看日志是否有异常
  1. ## 找到最新的写入日志文件
  2. ls -htl /var/log/emqx/emqx.log.*[0-9] |head -n 1
  3. ## 查看此日志:
  4. tail -f -n 100 /var/log/emqx/emqx.log.x
  • 通过dashboard查看是否有报警,本节点的状态是否正常