TDH 5.X升级工具使用说明(升级必读)(适用于5.1.2-final及以上版本)


#1

!!!注意:5.2.0-final及之后版本的安装包中已经包含升级脚本,所以从5.2.0-final版本起不需要下载以下文件!!!且从5.2.0-final起支持安装式升级,只需./install启动安装程序即可

5.x中manager和tos的升级脚本在TDH-Basic-.tar.gz安装包中,需要下载TDH-Basic-.tar.gz包,并在Manager节点上解压。在解压出的transwarp/script目录下有3个文件:
(1). UpgradeManager.sh.doc (71.9 KB)
(2). CheckEnvironment.sh.doc (3.2 KB)
(3). Upgrade.conf.doc (495 字节)
5.2.0-final以前版本的安装包里还没有包含这3个脚本,因此先放在此处,请自行下载去掉.doc后缀并放在transwarp/script目录下。

重点提醒:

  1. TDH 5.X中Transwarp Manager采用了新的架构和服务部署方式,因此5.X的升级脚本只会升级Manager和TOS,其他已安装服务需要进入“应用市场”页面升级

  2. 升级前必须要参照下文 “升级前环境检查” 进行人工检查,可以有效缩短升级造成的停机时间

  3. 升级过程已经拆分为checkEnv和startUpgrade两个步骤,且出错时不再需要revert即可再次升级

  4. 升级第一步checkEnv脚本会自动进行必要环境检查,检查环境成功会输出“Check environment finished”。环境检查出错不需要revert,解决环境问题后再次执行bash UpgradeManager.sh checkEnv即可

  5. 环境检查通过后再执行第二步startUpgrade。如果升级跨了5.1.2版本(TDH 5.1.2之前版本升级到TDH 5.1.2及之后版本),则必须先停止包括TOS和Guardian在内的所有服务。升级过程中出现任何问题,先根据提示去升级脚本所在目录查看对应节点的upgrade_$hostname.log,解决问题后,执行bash UpgradeManager.sh startUpgrade重新升级,不需要再revert

  6. 升级目标为商业版时还需要下载 TDH-Image-Registry-.tar.gz 和/或 TDH-Machine-Learning-.tar.gz 包,并在Manager节点上解压到transwarp目录下

脚本说明

升级前环境检查:

  1. 检查升级脚本所在分区是否有足够空间(建议大于20G,如果需要升级Registry和Machine Learning包建议大于50G)
  2. 如果需要升级Registry和Machine Learning包,检查docker vg是否有有足够空间(docker info执行结果中Data Space Available要大于Machine Learning包大小)
  3. 检查/etc/hosts和每台机器的hostname是否正常
  4. 检查集群是否已正确配置无秘钥登录,以及无秘钥登录用户是否为NOPASSWD sudoer
  5. 检查Guardian服务状态是否正常,并确保所有Guardian Server的8380页面都能正常访问
  6. 登录mysql数据库确认service表中Guardian服务的enableKerberos字段为0,否则请手工修改为0

升级步骤:

  1. 修改 Upgrade.conf 中的参数,下面参数需要修改

  2. 运行bash UpgradeManager.sh checkEnv !!如果是非root用户安装的的,请使用 sudo bash UpgradeManager.sh checkEnv
    脚本在shell中打出 “Check environment finished” 说明脚本执行成功。

  3. 运行bash UpgradeManager.sh startUpgrade !!如果是非root用户安装的的,请使用 sudo bash UpgradeManager.sh startUpgrade
    脚本在shell中打出 “Upgrade cluster finished” 说明脚本执行成功。

回滚:

如果升级脚本未执行成功,那么需要检查对应节点的日志transwarp/script/upgrade_$hostname.log,找到错误原因并修复后,在manager节点上运行再执行bash UpgradeManager.sh startUpgrade进行升级,而无需回滚。

如果希望回滚集群到升级前状态,可以执行bash UpgradeManager.sh revertCluster。脚本在shell中打出 “Revert cluster finished” 说明回滚执行成功。

已知问题:

关于Guardian的升级:

5.0和5.0.1版本中,因为启动顺序问题可能造成guardian server无法正常启动,需要在manager节点上修改

1、升级前版本是5.0时,需要在manager节点 /var/lib/transwarp-manager/master/content/meta/services/GUARDIAN/transwarp-5.0/templates/guardian-env.sh.ftl 末尾加上
或,升级前版本是5.0.1时,需要在manager节点 /var/lib/transwarp-manager/master/content/meta/services/GUARDIAN/transwarp-5.0.1-final/templates/guardian-env.sh.ftl 末尾加上:

export TIMEOUT=120
export STRICT=1

2、升级后版本是5.0.1时,需要在解压的安装包中修改 transwarp/service_meta/GUARDIAN/transwarp-5.0.1-final/templates/guardian-env.sh.ftl,末尾同样加上:

export TIMEOUT=120
export STRICT=1

关于Rubik的升级:

Rubik从transwarp-5.1版本开始强制依赖于Workflow服务,所以如果当前安装的Rubik版本是transwarp-5.0.x时将无法通过应用市场进行升级。解决方法:在升级服务前先删除Rubik服务,然后在完成其他服务的升级之后再安装期望版本的Rubik服务即可。


#2

脚本说明下方的图


#3

脚本说明下方的图
对 startUpgrade 的描述有误吧?


#4

已修改,感谢指正


在线支持