# 版本升级 Skylab 平台提供了一个基于命令的升级框架,以支持 Skylab 平台各产品的自动化升级。 Skylab 平台各产品的版本模式为 x.x.x.x(Major.Minor.Patch.Hotfix),比如 5.4.0.0 。 本升级框架不支持第 1 位(Major)版本间的升级,可以支持第 2 位(Minor)及更小版本号(Patch,Hotfix)间的版本升级,支持相邻本间(如 5.3.0.0 -> 5.4.0.0)与跨多个版本(如 5.3.0.0 -> 5.8.0.0)的升级。 | 升级版本 | 是否支持 | 举例 | 所需操作 | |--------|------|------------------|------------------------------| | Major | 不支持 | 5.4.0.0 -> 6.0.0.1 | 需要遵循具体 Major 版本间升级的手册 | | Minor | 支持 | 5.4.0.1 -> 5.8.2.0 | 1. 获取各组件旧版本号;2. 安装新版本组件;3. 安装新版本 lava;4. 执行升级脚本;5. 重启/重新加载 | | Patch | 支持 | 5.4.1.1 -> 5.4.3.0 | 2. 安装新版本组件;3. 安装新版本 lava;5. 重启/重新加载 | | Hotfix | 支持 | 5.4.1.1 -> 5.4.1.4 | 2. 安装新版本组件;3. 安装新版本 lava;5. 重启/重新加载 | 当前支持的产品:LavaAdmin(部署监控运维), LavaServer(Lava基础), DataEnd(数据源), DBServer(OushuDB可视化,包含Worksheet), WaspServer(Wasp数据工厂), FlowServer(作业调度), LavaAssist(Lava助手), LavaFE(前端组件)。 后续会对接、支持更多的产品的自动化升级。 ## 1. 获取各组件旧版本号 版本升级的时候,可能需要输入旧的版本号,需要在安装新版本组件之前获得并记录下来。在各组件安装的节点上,运行如下命令获取版本号: | 组件名称 | 获取版本号的命令 | |-------------|---------------------| | LavaServer | lavaserver version | | LavaAdmin | lavaadmin version | | DataEnd | lava-dataend version | | DBServer | dbserver version | | WaspServer | wasp version | | FlowServer | lavaflow version | | LavaAssist | lavaassist version | | LavaFE | 同LavaServer的版本号 | ## 2. 安装新版本组件 在需要升级组件的机器上,停止想要更新的组件,并卸载、安装新版本组件: ```shell # 停止组件进程 sudo yum remove 组件名(可以输入多个) sudo yum makecache sudo yum install 组件名(可以输入多个) ``` 注意:在前端组件所安装的节点(默认是LavaServer所在节点),需要删除并重装如下前端组件(不是LavaFE): | 包名 | 功能 | |--------------------|------| | premise-ui-common | 基础组件 | | premise-ui-db | db模块 | | premise-ui-monitor | 监控 | | premise-ui-deploy | 自动部署 | | premise-ui-wasp | wasp | | premise-ui-flow | flow | | premise-ui-backup | 备份恢复 | ## 3. 安装新版本 lava ```shell sudo yum remove lava sudo yum makecache sudo yum install lava ``` ## 4. 执行升级脚本 运行如下命令升级相应的组件: ```shell lava infra-upgrade -s 组件名 -v 旧版本 ``` 组件名:当前支持 LavaAdmin(部署监控运维), LavaServer(Lava基础), DataEnd(数据源), DBServer(OushuDB可视化,包含Worksheet), WaspServer(Wasp数据工厂), FlowServer(作业调度), LavaAssist(Lava助手), LavaFE(前端组件)。 旧版本:x.x.x.x格式。 例如: ```shell lava infra-upgrade -s LavaServer -v 5.1.0.0 ``` 注意:使用组件名字 LavaFE 即可升级所有前端组件(包含所有 premise-ui-xxx ),不要使用具体前端组件包名称(如 premise-ui-common)。 ## 5. 重启/重新加载 升级完成后,重新启动或加载该组件即可,相关命令如下: | 组件名称 | 重启或重新加载命令 | |-------------|---------------------| | LavaServer | sudo lavaserver restart | | LavaAdmin | sudo lavaadmin restart | | DataEnd | sudo lava-dataend restart | | DBServer | sudo dbserver restart | | WaspServer | wasp restart (使用oushu 用户) | | FlowServer | lavaflow stop && lavaflow start (使用oushu 用户)| | LavaAssist | sudo lavaassist restart | | LavaFE | sudo /usr/local/nginx/sbin/nginx -s reload -p /usr/local/oushu/nginx |