版本升级#

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. 安装新版本组件#

在需要升级组件的机器上,停止想要更新的组件,并卸载、安装新版本组件:

# 停止组件进程
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#

sudo yum remove lava
sudo yum makecache
sudo yum install lava

4. 执行升级脚本#

运行如下命令升级相应的组件:

lava infra-upgrade -s 组件名 -v 旧版本

组件名:当前支持 LavaAdmin(部署监控运维), LavaServer(Lava基础), DataEnd(数据源), DBServer(OushuDB可视化,包含Worksheet), WaspServer(Wasp数据工厂), FlowServer(作业调度), LavaAssist(Lava助手), LavaFE(前端组件)。

旧版本:x.x.x.x格式。

例如:

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