TDH服务升级路径详解

  升级, 安装部署
内容纲要

概要描述

Manager通过升级路径来管理服务的升级,本文详细介绍一下升级路的原理、功能等


什么是升级路径

TDH产品中,每个服务都有多个版本,Manager通过“升级路径”来管理的哪些版本之间可以升级&回滚。
以Zookeeper举例:如果可以从522版本升级到601版本,就认为zookeeper存在一条522->601的“升级路径”。

升级路径的定义

Manager通过节点上的升级配置文件来定义升级路径。
还是以Zookeeper举例:
查看目录 /var/lib/transwarp-manager/master/content/meta/services/ZOOKEEPER/transwarp-6.0.1-final/upgrade

file

去除掉其中的2个ce版本,剩下的4个文件定义了4条升级路径:

501 -> 601
516 -> 601
522 -> 601
600 -> 601

这表明,在该集群中,只有501/516/522/600这4个版本的zk可以升级到601版本。
如果客户安装的是523版本的zk,那么即使上传了601的产品包也是不能升级zk的。

file


Manager的启动日志加载升级路径

Manager主进程启动时会加载/var/lib/transwarp-manager/master/content/meta/services下的所有upgrade目录下的升级路径文件,/var/log/transwarp-manager/master/transwarp-manager.log日志中可以找到集群中所有的升级路径:

2020-08-31 14:47:47,233  INFO FsServiceMetaLocator: (ServiceMetaLocator.scala:527) - found upgrade path from transwarp-5.0.1-final to transwarp-6.0.1-final
2020-08-31 14:47:47,233  INFO FsServiceMetaLocator: (ServiceMetaLocator.scala:527) - found upgrade path from transwarp-5.1.6-final to transwarp-6.0.1-final
2020-08-31 14:47:47,233  INFO FsServiceMetaLocator: (ServiceMetaLocator.scala:527) - found upgrade path from transwarp-5.2.2-final to transwarp-6.0.1-final
2020-08-31 14:47:47,233  INFO FsServiceMetaLocator: (ServiceMetaLocator.scala:527) - found upgrade path from transwarp-6.0.0-final to transwarp-6.0.1-final
2020-08-31 14:47:47,234  INFO FsServiceMetaLocator: (ServiceMetaLocator.scala:527) - found upgrade path from transwarp-ce-1.0.0-final to transwarp-6.0.1-final
2020-08-31 14:47:47,234  INFO FsServiceMetaLocator: (ServiceMetaLocator.scala:527) - found upgrade path from transwarp-ce-1.1.0-final to transwarp-6.0.1-final
2020-08-31 14:47:47,234  INFO FsServiceMetaLocator: (ServiceMetaLocator.scala:264) - loaded service meta of ZOOKEEPER transwarp-6.0.1-final

手动添加升级路径

大部分情况下,不同版本的服务缺少升级路径是有意为之,目的是保证服务的版本兼容性。
少数情况下是产品发布时候遗漏掉了,比如,601是在523之前发布的,所以601中并没有包含523->601的升级路径,此时就需要手动添加一条升级路径:

cd  /var/lib/transwarp-manager/master/content/meta/services/ZOOKEEPER/transwarp-6.0.1-final/upgrade
touch from_transwarp-5.2.3-final.yaml
vi from_transwarp-5.2.3-final.yaml

参考其他版本的升级文件修改之后,重启manager即可生效。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。