Skip to content

容器部署的版本升级

当 HENGSHI 版本升级后,请按照如下步骤在容器上进行升级操作。

  1. 下载和导入新版本镜像。

    • 从 dockerhub 获取离线镜像。
    sh
    docker pull hengshi-sense:$TAG
    • 导入离线镜像。
    sh
    wget https://download.hengshi.com/releases/hengshi-sense-xxx.tar.gz
    docker load -i hengshi-sense-xxx.tar.gz
  2. 容器环境中,升级过程中默认未进行数据备份操作,可根据需要自行进行数据备份操作容器环境备份与恢复

  3. 暂停服务。

    shell
    cd single
    docker-compose down
  4. 根据升级版本获取 docker-compose 部署文件,配置文件可参考 部署前准备工作

  5. 更新衡石镜像 tag。

    shell
    cd single
    NEW_TAG=hengshi-sense-xxx #设置变量为新 tag
    sed -i -e "s/^HS_IMAGE_TAG=.*$/HS_IMAGE_TAG=${NEW_TAG}/" .env
  6. 启动服务,升级完成。

    shell
    cd single
    docker-compose up -d
  7. 升级版本 >=4.0 注意事项

    1. 服务镜像 >= 4.0 版本开始,Metadb 默认版本为13.5,可根据需要判断是否进行升级操作
    2. 升级操作
    3. 维持现有版本
      1. 编辑 docker-compose.yaml 文件,将 metadb>image 配置下**${HS_IMAGE_TAG:-need_hs_image_version}**的参数修改为<4.0版本 镜像信息
  8. 注意事项:

    1. 5.1.x 版本 flink 已被移除,无需运行。升级后可考虑停止并清理 flink 的容器。

helm 部署的版本升级

升级过程与容器部署基本相同,同样需要注意Metadb 版本升级数据备份 >=4.0 默认版本为13.5,可根据需要判断是否进行升级操作.

非跨大版本升级(3.6 > 4.1), 通常都是做好数据备份,然后--version 指定版本号升级即可

hs-config 配置参考

shell
helm upgrade -f hs-config.yaml Hengshi-Sense hengshi-charts/hengshi-sense --version 0.1.2 -n [namespace] # 要升级的 chart 版本号

以下为3.6跨多个版本升级4.1 的操作示例(重点在于 metadb 的升级,需在升级 HENGSHI-SENSE 之前操作)

  1. 升级 Metadb 前取消 CLUSTER_ENABLE 变量或设置为 false
shell
kubectl -n [namespace] exec -it metadb-0 -- bash
export | grep "CLUSTER_ENABLE"
unset CLUSTER_ENABLE
  1. 使用升级镜像 registry.hengshi.org/hengshi-metadb:upgrade
shell
# 将 metadb 中的镜像地址替换为升级镜像的地址(两处)
kubectl -n [namespace] edit statefulset.apps/metadb

# 重新拉起 pod
kubectl -n [namespace] scale statefulset.apps/metadb --replicas=0
kubectl -n [namespace] scale statefulset.apps/metadb --replicas=1
  1. 升级 metadb 操作
shell
kubectl -n [namespace] exec -it metadb-0 -- /bin/bash
cd /opt/hengshi
bin/hengshi-sense-bin stop metadb single ## 停止操作
bin/hengshi-sense-bin upgrade metadb single ## 升级操作

出现上面提示显示您的 metadb 数据库已经升级完成,如果失败请参考: Metadb 升级回滚

  1. 升级 HENGSHI-SENSE

hs-config 配置参考

shell
helm upgrade -f hs-config.yaml Hengshi-Sense hengshi-charts/hengshi-sense --version 1.1.7 -n [namespace] # 要升级的 chart 版本号

衡石分析平台使用手册