概要描述
理论上来说,Studio1.4是可以平滑升级到1.5的,但现实往往不会很完美。
本文记录一些升级中的注意事项,可以帮助大家理解升级中的已知问题。
升级之前的准备:
1,如果要升级那么所有的studio组件需要一起升级,包括workflow、transporter、
catlog等
2,升级之前要备份元数据,txsql中的workflow库、tdt库等,这样保证在升级故障时候可以回退
升级流程
跟一般服务的升级流程没有区别,都遵循上传产品包->选择升级产品这个步骤,需要注意的是集群中安装的所有studio组件必须一起升级
另外,如果是Manager 8.1.0 版本,直接打 patch 到 8.1.2 即可解决。
升级之后
修改workflow元数据
1.4升级1.5会发生flyway异常,请将workflow数据库中schema_history表中installed_rank = 8那行的type字段的值改成JDBC,然后再delete po重启
如果在1.4版本里没有flyway_schema_history这张表
现场升级完成之后也没有找到这个schema_history表,那么需要改的是schema_version表
workflow镜像换包
安装完标准的1.5安装包之后,需要替换镜像里面的jar包,修复了1.5发布后的现场发现的bug,
链接:https://pan.baidu.com/s/1yR4n7qwdZ3zURf131G6rDA
提取码:sdfd
注意不要在现有的wf容器上直接换包,docker run一个再去换
transporter镜像换包
如果确认安装了tdt,tdt也需要在升级完后替换jar包。https://wiki.transwarp.io/pages/viewpage.action?pageId=49045878
这是最新的tdt包,无法删除目标表等已知问题都修复了。
重传jdbc驱动
升级1.5之后,所有的jdbc连接的驱动包都需要重新上传一遍,根据目标mysql版本的不同需要不同驱动
5.6/5.7的msyql需要用到的TransporterJDBC驱动是mysql-connector-java-5.1.44.jar
驱动类名是com.mysql.jdbc.Driver
8.0的msyql需要用到的TransporterJDBC驱动是mysql-connector-java-8.0.20.jar
驱动类名是com.mysql.cj.jdbc.Driver
其他数据库的驱动如果之前有上传过也需要重传
卸数功能
studio1.4中是有卸数功能的,但是对外卸数这是个poc级别的功能,所以在1.5去掉了,1.5中的jdbcwrite在去前端都是没有的,如果客户在1.4中有使用这个功能,那么在1.5上是会失效的,需要劝说客户放弃这个功能,或者研发出包修复,参考:SLA-20950
重装tdh-client
升级之后workflow中原本安装的tdh-client会无法使用,需要按照workflow手册中的步骤重装tdh-client
回退的步骤:
1.备份1.5的txsql数据库(wf、tdt)
2.删除tdt、wf1.5的服务,删除wf、tdt的txsql数据库
3.安装1.4版本的tdt、wf,然后停止服务
4.用之前备份的1.4的txsql(wf、tdt)替换现有的wf、tdt数据库
5.重启tdt、wf