海纳云 1.1.0 -> 1.3.0 版本升级文档
海纳云 1.1.0 → 1.3.0 版本升级文档
说明:请严格按步骤执行;如升级失败,参见「5. 失败回滚」。
⚠️ 注意事项:
- 升级过程需要 停机维护,期间海纳云将 无法对外提供服务。
- 升级时长约为 30 分钟至 1 小时,请提前通知相关业务部门。
1. 获取升级资源
镜像
升级/回滚 SQL
下载完成后,请统一放置至预设目录,供后续脚本引用。
2. 导入镜像
2.1 导入 cloudeon 镜像(主节点)
docker load -i cloudeon-software_1.0.55.tar
2.2 导入海纳云镜像(所有运行海纳云的节点)
docker load -i hina-haishuu_1.0.46.tar
3. 升级 Cloudeon
在主节点解压步骤 1 下载的 upgrade_from_1.1.0_1.3.0.tar.gz:
# 解压
tar -zxvf upgrade_from_1.1.0_1.3.0.tar.gz
# 复制修正 flyway 历史的 SQL
cp -f modify_cloudeon_sql_flyway_history.sql /opt/mysql/conf/
# 执行修正 SQL(自动定位 mysql Pod)
kubectl exec -n mysql $(kubectl get po -n mysql -o jsonpath='{.items[0].metadata.name}') \
-- mysql -h127.0.0.1 -uroot -pRoot@123 -e "source /etc/mysql/conf.d/modify_cloudeon_sql_flyway_history.sql"
编辑部署,切换 Cloudeon 镜像版本:
kubectl edit deploy cloudeon -n cloudeon
将 image: 行修改为新版本,例如:
image: dockerhub.baofu.com/app/cloudeon:1.0.55
等待 Cloudeon 服务启动并恢复为 Ready 状态。
4. 升级海纳云应用
4.1 更新海纳云应用镜像配置(通过 SQL)
cp -f update_app_image.sql /opt/mysql/conf/
kubectl exec -n mysql $(kubectl get po -n mysql -o jsonpath='{.items[0].metadata.name}') \
-- mysql -h127.0.0.1 -uroot -pRoot@123 -e "source /etc/mysql/conf.d/update_app_image.sql"
4.2 备份并升级数据库
强烈建议:先执行备份 SQL。
4.2.1 备份 SQL
cp -f back_hina.sql /opt/mysql/conf/
# 执行备份:生成备份表与备份数据
kubectl exec -n mysql $(kubectl get po -n mysql -o jsonpath='{.items[0].metadata.name}') \
-- mysql -h127.0.0.1 -uroot -pRoot@123 -e "source /etc/mysql/conf.d/back_hina.sql"
4.2.2 升级 SQL
cp -f update_hina.sql /opt/mysql/conf/
# 执行海纳云升级 SQL
kubectl exec -n mysql $(kubectl get po -n mysql -o jsonpath='{.items[0].metadata.name}') \
-- mysql -h127.0.0.1 -uroot -pRoot@123 -e "source /etc/mysql/conf.d/update_hina.sql"
4.2.3 升级 Doris 中现有项目关联的表
使用 MySQL 客户端,或者进入 Doris playgraund 中执行如下SQL
SELECT CONCAT(
'ALTER TABLE ', table_schema, '.', table_name, ' ADD COLUMN (',
' `feature_value_array` ARRAY<STRING> COMMENT ''标签值(列表)'',',
' `feature_value_json` JSON COMMENT ''标签值(对象)'');'
)
FROM information_schema.tables
WHERE table_schema = 'h000000'
AND (table_name LIKE 'ads_feature_%' OR table_name LIKE 'ads_history_feature_%');
得到结果如图:
依次执行结果的SQL
4.3 应用层升级(通过 Cloudeon)
删除旧版本海纳云服务,等待删除完成:

重新部署海纳云服务(将拉起新版本镜像):

5. 失败回滚
如升级失败,可执行回滚 SQL:
cp -f rollback_hina.sql /opt/mysql/conf/
# 回滚海纳云数据
kubectl exec -n mysql $(kubectl get po -n mysql -o jsonpath='{.items[0].metadata.name}') \
-- mysql -h127.0.0.1 -uroot -pRoot@123 -e "source /etc/mysql/conf.d/rollback_hina.sql"
✅ 升级完成验证
- 登录 Cloudeon 管理界面,确认海纳云服务运行正常、状态 Ready;
- 检查数据库版本字段是否已更新到目标版本;
- 核实前端、后端功能均可正常访问与操作。
另外,升级提供了 虚拟事件批量导入 程序
说明:
- resources/virtual-import.properties 供用户修改数据库信息和项目信息,支持热改,无需重新打包。
- resources/template/虚拟事件定义模板.xlsx 为模板文件,供用户录入虚拟事件数据。
- resources/说明.txt 为导入准备工作说明。
使用方法
解压 虚拟事件导入zip 包得到
如图
修改 resources 下文件夹配置 virtual-import.properties,放入需要导入的虚拟事件数据到 template 文件夹中。
有两种方法使用
1. 执行 resource/start.sh + <虚拟事件定义文件路径>,示例(以在 resources 目录下执行命令为例)
./start.sh ./template/虚拟事件导入_20250905.xlsx
2. 使用 java -jar 命令,示例(以在 resources 目录下执行命令为例)
java -jar ../hina-cloud-virtual-import.jar ./template/虚拟事件导入_20250905.xlsx
关于京东 SSO 免登,在 Nacos 中有对应配置,在升级完成后需要调整 ,调整配置文件 hina-cloud-base.yam
如图
其中配置项含义
jd:
sso:
enable: true #是否开启京东SSO登录开关
url: https://ssa.jdtest.net #京东SSO登录授权地址
appKey: test-hina-cloud #SSO登录 APP Key
appToken: 4e976249c97e4f5da50426f46318a4c7 #SSO登录所需的 APP Token
autoCreateUser: true #SSO登录是否自动创建用户
1. 由于海纳这边开发测试在测试环境下 https://ssa.jdtest.net 调试测试没有问题,所以需要升级后调整成为京东生产环境地址。
2. 京东根据自己的需求是否开启 SSO登录是否自动创建用户,如果设置为 false,则需要提前建立与 erp 对应的用户名的用户才可正常 SSO 登录
