Skip to content

版本升级注意事项

本文介绍升级版本中的注意事项,请仔细阅读后执行后续升级操作。

need migrate data, skip installation

当安装程序检测到当前已安装和升级包内的组件版本不一致时, 无法通过直接替换进行升级。

需要通过脚本来做数据迁移后才能进行升级操作。

Version<=4.2版本升级到此版本

  1. Metadb 版本不支持9.x 版本,升级前请确认使用的 Metadb 版本信息。

    1. 使用衡石内置数据库,参考 数据库服务升级
    2. 使用外部数据库,自行升级数据库版本,建议升级版本为13.xx。
  2. JDK 版本不在支持1.8版本,容器、K8s 部署方式忽略此问题,VM 单机、集群部署方式升级操作前 必要执行 init-os all

    1. 内网环境联系售后人员获取 JDK 静态资源
shell
cd /opt/hengshi/lib
export hs_version="openjdk-11.0.17_8.1"
wget https://download.hengshi.com/hs-jdk/${hs_version}.tar.gz
tar -zxf ${hs_version}.tar.gz && rm ${hs_version}.tar.gz
ln -sf ${hs_version} jdk
  1. 注意 如有要求使用特定 JDK 版本,请在 conf/hengshi-sense-env.sh 配置下列参数
shell
export HS_JDK_HOME="JDK 安装目录"  # bin 目录上级目录位置
  1. 提供内置的 Doris 引擎,如需存在使用 Doris 引擎作为内置默认引擎需求,请参考Doris 引擎配置

版本回滚到 Version<4.4版本

  1. 4.4版本对 Greenplum 引擎进行逻辑层面的优化,不兼容 Version<4.4版本程序启动运行,执行版本回滚操作前,执行下列操作
shell
cd /opt/hengshi
bin/clean_engine.sh -d true

执行结束后,继续进行版本回滚操作

使用外部 PostgreSQL 数据库替代 Metadb 注意事项

请参考替换衡石 metadb,准备工作中 使用超级管理员账号对用户进行授权操作 步骤。

配置二级路径注意事项

本版本中不再支持使用CONTEXT_PATH参数实现二级路径访问。 如果需要二级路径访问请参考二级访问路径配置

清理 minio 注意事项

之前版本有些删除 app 的场景没有删除图片,导致 minio 产生了一些无用的图片。因此对 minio 无用的图片进行清理,完善删除逻辑,重新进行存储布局。

升级前请做好以下准备工作。

  1. 做好 minio 备份(包括云上环境)及 metadb 备份。
  2. 升级时需等待清理逻辑执行完成,可以通过观察日志了解清理的进度,可以通过MinioImageClean过滤出相关信息。经测试,清理11G 的无用照片大概需要4分钟左右。

提示

4.5.4及之前版本、4.6版本,4.6.1版本升级到当前版本时会执行 minio 清理操作,其他版本升级到当前版本时不会执行 minio 清理操作。

LDAP 认证方式修改默认配置

LDAP 认证方式启用用户属性默认配置为 false,升级时不再同步用户属性。所以在升级前请确认是否需要同步用户属性,如果需要同步请将该配置设为 true。

提示

升级影响范围 4.5.11及之前版本、5.0.0版本、5.0.1版本、5.0.2版本、5.0.3版本、5.0.4版本、5.1.0 版本升级到当前版本时需要检查该配置项。

会话 Cookie 的默认名称为_USER_SESSION_ID,升级后需要重新登录。如客户系统有使用原 Cookie 名称 sid 的逻辑,需要修改为新的名称_USER_SESSION_ID, 或者设置参数 export SESSION_COOKIE_NAME=sid(原 cookie 名称)。

提示

升级影响范围是4.5.15及之前版本、5.0.0~5.0.8、5.1.0~5.1.4 ,其他版本不受影响。

6.0+ 首次升级耗时与健康检查配置建议

6.0.0 的升级迁移过程耗时较长,不同的 metadb 数据量,cpu 性能,磁盘 io 性能相应的耗时不同,例如 metadb 40GB (7.5万仪表盘,43万图表),Xeon W-2191B @ 2.30GHz,普通云盘SSD 升级大约需要 15 分钟左右。建议在首次 6.0+ 进行大版本升级前先关闭启动健康检查,升级和成功启动后再恢复健康检查。以下为几种部署方式的修改建议:

2-1 关闭健康检查

  • [单机和集群部署]

停止monit监控服务

shell
${HENGSHI_HOME}/bin/hengshi-sense-bin stop monit
# {HENGSHI_HOME} 为hengshi安装的目录变量,不能直接复制执行。
  • [docker 部署]

将 docker-compose 文件中 hengshi 部分的 healthcheck 注释掉再启动 hengshi 服务

shell
    healthcheck:
      test: /opt/hengshi/bin/hengshi-sense-bin health hengshi
      interval: 10s
      timeout: 30s
      retries: 90
  • [k8s 部署]

将 hengshi-sense deployment 部署清单中的三项注释掉再启动 hengshi 服务

  • startupProbe
  • livenessProbe
  • readinessProbe
shell
kubectl -n [namespace] edit deployment hengshi-sense
shell
          startupProbe:
            exec:
              command:
                - /bin/bash
                - /opt/hengshi/bin/hengshi-sense-bin
                - health
                - hengshi
                - single
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 90
          livenessProbe:
            exec:
              command:
                - /bin/bash
                - /opt/hengshi/bin/hengshi-sense-bin
                - health
                - hengshi
                - single
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 3
          readinessProbe:
            exec:
              command:
                - /bin/bash
                - /opt/hengshi/bin/hengshi-sense-bin
                - health
                - hengshi
                - single
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 3

2-2 成功后恢复健康检查

  • [单机和集群部署]
    恢复monit监控服务
shell
${HENGSHI_HOME}/bin/hengshi-sense-bin start monit
# {HENGSHI_HOME} 为hengshi安装的目录变量,不能直接复制执行。
  • [docker 部署] 与 [k8s 部署]
    将关闭阶段注释掉的内容恢复,再重启 hengshi 服务

提示

升级影响范围是 6.0.0 之前版本首次进行 6.0+ 的升级,比如 4.5.x -> 6.2.y、5.4.x -> 6.0.y
已经在运行 6.0+ 版本的系统再次进行大版本升级不受影响,即 6.0.x -> 6.1.0 不受本事项影响,无需关闭健康检查进行首次升级

衡石分析平台使用手册