本文介绍如何在Dataphin Manager中停机升级Dataphin版本。
前提条件
已在许可证管理中导入许可证。
已了解版本升级的影响范围,详情请参见版本升级的影响范围。
当前没有进行中的配置和升级。如果系统正处于升级中的状态,请等待当前升级完成,或在必要时强制终止正在进行的版本升级后,再次进行升级。
背景介绍
半停机、停机升级Dataphin版本的操作可分为三个主要步骤:选择版本及升级模式、升级、以及升级结束后校验升级结果。在升级过程中,均需进入升级维护模式。半停机模式下,升级应用完成后用户即可登录Dataphin;停机升级模式下,用户无法正常登录Dataphin。
若当前Datahin实例版本低于V5.1.1,则升级模式仅支持停机升级和不停机升级;若当前版本高于或等于V5.1.1,则支持半停机升级、停机升级和不停机升级。半停机、停机升级完整的升级流程如下图:
终止升级:处于强制终止任务运行或应用尚未停止阶段(即处于停机阶段但尚未开始停机)时,支持终止升级。终止升级后,系统将恢复任务下发并退出升级维护模式;用户可以选择是否自动重跑强制终止的实例。如果未选择自动重跑,后续可在任务运维功能模块中进行手动重跑。
强制终止升级:处于升级开始后的任一阶段(包含强制终止任务运行、停机、预升级、数据库备份、升级应用、重跑任务和数据更新)均可以强制终止升级,并可选择将本次升级置为成功或失败。然而,强制终止升级系统无法自愈,可能会导致Dataphin不可用。因此,在执行强制终止前务必确认已经通过手动方式完成升级或回滚操作。建议仅由专业运维人员进行确认并实施强制终止升级操作。
操作步骤
步骤一:选择版本及升级模式
在Dataphin的登录地址后补充输入
/opsconsole/v2,跳转至Dataphin Manager的登录界面。在Dataphin Manager的登录界面输入用户名和密码后,单击登录(用户名和密码您可联系Dataphin运营人员获取)。
在Dataphin Manager的首页单击系统配置。
在升级记录页面单击升级Dataphin。
在升级Dataphin页面中,选择版本及升级模式。参数及说明如下表。
参数
说明
升级配置
目标版本
在版本列表中选择要升级至的目标版本。
若版本列表中未包含所需的目标版本,可单击上传版本配置,上传目标版本配置文件。
配置文件上传完成后,系统将进行配置文件校验。若配置文件内容不正确,则校验不通过,系统将会报错并展示失败原因;若配置文件通过校验,且系统中尚未包含该版本的配置文件,此时继续上传将导入该版本配置;若配置文件通过校验,且系统中已包含该版本的配置文件,此时继续上传将覆盖系统配置。
配置文件
标准化配置:单击上传文件,上传YAML或zip格式的配置文件。上传后可下载配置文件。
配置文件上传完成后,系统将进行配置文件校验。若配置文件中未包含所有配置项,系统将会报错,可单击报错信息中的查看详情,查看缺失配置项的列表。
非标准化配置:在上传文件前,您可与Dataphin运维团队沟通获取所需的配置文件(zip格式)。单击上传文件,上传获取到的配置文件。配置文件上传完成后,系统将自动进行以下校验:
配置文件中的版本标准化配置模板(product/dataphin/...)与上传的版本配置是否相同(MD5校验一致)。若不一致,系统将提示:配置文件中的配置模板与选择的版本不兼容,建议您与Dataphin运维团队进行确认,确认无误后再继续升级。
配置文件中的overlay文件和values.yaml文件与版本标准化配置模板 (product/dataphin/...)是否兼容。若不兼容,系统将阻断本次升级,并提示:配置文件中的配置信息与选择的版本不兼容,无法继续升级,请您与Dataphin运维团队进行确认。
配置文件中的values.yaml文件与您当前线上环境中运行的values.yaml文件是否一致。若不一致,系统将提示:配置文件中的配置信息与当前环境的线上配置不一致,继续升级将使用新配置文件继续升级。
说明若无特殊情况,无需使用非标准化配置。
升级模式
选择半停机升级或停机升级,升级时,数据服务不停服,且数据服务API同步调用持续可用。除了Dataphin当前版本与目标版本的版本号前三位相同的场景外,其他升级路径均建议您使用半停机升级。
半停机升级:大幅缩减调度停服时间,且无需停止正在运行的任务。
停机升级:升级期间暂停任务调度,且需要停止正在运行的任务。
说明半停机升级或停机升级过程中,异步调用StarRocks、MaxCompute、Databricks、OceanBase数据源相关的数据服务API时,数据服务不停服,可持续调用。
通过当前版本及目标版本的可兼容性配置,来确认是否支持不停机升级。若不支持不停服升级,则默认选择停服升级。
公告配置
预计完成时间
选择预计退出升级维护模式的时间,默认为当前时间。时间格式为YYYY-MM-DD hh:mm。
联系邮箱
升级过程中可联系的联系人邮箱信息。
联系电话
升级过程中可联系的联系人电话信息,可以是固定电话,也可以是手机号码。
选中风险声明后,单击进入升级维护模式。
单击进入升级维护模式后,系统将记录进入升级维护模式的时间。进入升级维护模式后,系统将进行以下操作:
保存当前配置,并在升级记录中生成一条状态为升级中的记录,此时无法再次发起新的升级流程。
暂停下发调度任务。在升级完成后恢复任务下发:
开发/生产环境:任务调度=关、任务执行=开
说明任务调度开关:表示周期任务调度是否开启。任务调度关闭后,周期任务将不再下发运行,已在运行阶段的任务实例不受影响将继续运行;补数据任务、临时查询不受影响。
任务执行开关:表示任务是否下发到资源调度。补数据任务、周期任务、临时查询都受影响,未运行的实例均不再下发运行,已在运行阶段的任务实例不受影响将继续运行。
开发环境的任务调度开关默认关闭,不可开启。
前端将进入升级维护模式,不再允许操作。
若单击保存,系统将在升级记录列表中生成一条状态为配置中的记录,可在升级记录列表中单击继续升级,进入编辑。
步骤二:开始升级
半停机升级
数据库备份
使用自建PostgreSQL库
单击开始备份,当数据库备份状态为备份中时,可单击下一步。
数据库备份的状态分为未备份、启动中、备份中、备份完成和备份失败。
使用RDS或其他类型数据库
使用RDS数据库时,必须前往RDS控制台进行备份。单击去RDS备份,跳转至RDS数据库控制台。
可选中风险声明,并单击下一步,跳过数据库备份步骤。
说明数据库备份的状态不影响升级任务。当升级完成,但数据库备份未完成时,依然可完成本次升级;当升级过程中强制终止升级,数据库备份也不会停止,不会影响正在进行的备份。
预升级
单击开始预升级,所有应用开始进行预升级,预升级完成进度由进度条展示完成比例,下方服务列表展示具体预升级状态。当预升级完成后,单击下一步。
升级应用
单击开始升级,在提示对话框中单击确定后,系统将停止调度(不影响正在运行的任务),并开始升级,预计持续30分钟。升级应用步骤成功完成后,单击退出升级维护模式并下一步,退出维护模式,同时系统将记录恢复任务下发和退出升级维护模式的完成时间。若升级应用步骤失败,请联系Dataphin运维人员,此时无法退出升级维护模式。
说明退出维护模式后,系统将恢复调度并可正常访问,但不代表升级已完成,还需继续执行数据更新步骤。
开始启动应用(数据服务的在线事务处理(OLTP)应用需进行版本滚动升级,具体步骤为启动新版本并逐步替换老版本应用)。启动的进度及状态由升级状态进度条展示,完成应用启动(即升级后),自动进入下一步。
在资源充足时,先启动新版本的OLTP、mgmt、Gateway应用,再停止旧版的OLTP、mgmt、Gateway应用;资源不充足时,可能会出现某些时刻没有可用应用的情况,在启动mgmt应用后,需要单独对数据服务的OLTP和Gateway应用进行升级。
若部分应用升级失败,可单击Java Thread Dump来诊断相应应用的问题,或单击重启,来重启相应应用的Java进程。无论应用升级是否成功,都可单击页面右上角的查看日志,来查看升级应用的具体日志信息。
数据更新
单击更新并下一步,系统将自动执行所有未成功执行的数据更新任务。数据更新列表中不包含不需要执行的任务(即非阻塞任务),已在运行中的任务和运行成功的任务将不会再次运行;运行失败和未运行的任务将触发运行。
可以单击运行,来启动相应任务;如有必要,可单击终止来终止相应正在运行中的任务。运行和终止均支持批量操作。当任务状态为运行成功、运行中、运行终止和运行失败时,支持单击日志详情查看任务运行的日志详情。
资产回刷任务支持查看资产回刷详情。当升级后元数据的格式变更,需要升级资产元数据。通过触发消息进行资产元数据的升级。资产回刷详情中包含总消息数、剩余消息数、成功消息数和失败消息数。其中总消息数为初始阶段每个应用上报的总数;失败消息数为处理失败的消息数。数据更新中若包含处理失败的消息,需要Dataphin运维团队确认是否可忽略,确认后再继续升级。
元数据采集任务,可手动启动元数据采集任务,支持查看任务状态及日志详情,日志中包含总工作流数量和已完成工作流数量。升级过程中,已生成的采集实例不做变更且使用最新版本的执行代码,若实例中包含了调度变更,则变更在升级完成后的第二天生效。
升级过程中,可随时单击强制终止升级来终止本次升级。需注意,强制终止升级系统无法自愈,可能导致Dataphin不可用,强制终止前务必确认已经通过手动方式完成升级或回滚操作。建议仅由专业运维人员确认并执行此操作。强制终止升级时可选择将本次升级置为升级成功或升级失败,无论置为升级成功或升级失败系统都将记录强制完成的时间,并将本次记录加入到升级记录列表中。
停机升级
可单击查看日志查看服务启动日志。
强制终止任务运行
在运行中任务列表中选择一个或多个任务进行强制终止,可单击强制终止所有任务并下一步来终止所有任务。强制终止的任务在升级后可重新触发运行,若任务不可重跑,建议等待任务运行完成后,查看终止任务列表。强制终止任务列表中的任务,升级应用后需要重跑。完成强制终止所有任务时,系统将记录终止任务下发的完成时间。
单击强制终止后,对应任务将从任务列表中移除,并被添加至终止任务列表中。如果任务在强制终止之前已完成或执行失败,则该任务将不会在任务列表中记录。
说明仅当运行中任务列表为空,即所有任务都被强制终止或完成运行时,才可进行下一步。若有任务强制终止失败将会报错,单击报错信息中的重试再次对此类任务发起强制终止。任务列表每20秒自动刷新一次。
强制终止的任务需要在重跑任务中手动启动重跑。
(可选)如有必要,可在升级记录列表中对本次升级执行终止升级操作。
停机
单击停机并下一步,对所有正在运行中的容器组进行停机。停机进度由停机状态进度条来展示。
升级时,数据服务不停服,容器组列表中将展示所有除数据服务外所有的应用容器的状态。
数据库备份
单击备份并下一步,开始进行数据备份,备份完成后自动进入下一步。
备份进度由备份中进度条展示完成比例,若部分数据库备份失败可单击查看日志查看备份失败日志,或单击重新备份,对单个数据库进行重新备份,单击重新备份后,该数据库的备份状态将被重置。如有必要,可单击强制终止,来终止相应备份中的数据库。
说明可选中风险声明,跳过数据库备份步骤。
当使用RDS数据库时,必须前往RDS控制台进行备份。可单击去RDS备份,跳转至RDS数据库控制台。
升级应用
单击升级应用并下一步,开始启动应用(数据服务的在线事务处理(OLTP)应用需进行版本滚动升级,具体步骤为启动新版本并逐步替换老版本应用)。启动的进度及状态由升级状态进度条展示,完成应用启动(即升级后),自动进入下一步。
在资源充足时,先启动新版本的OLTP、mgmt、Gateway应用,再停止旧版的OLTP、mgmt、Gateway应用;资源不充足时,可能会出现某些时刻没有可用应用的情况,在启动mgmt应用后,需要单独对数据服务的OLTP和Gateway应用进行升级。
升级应用中的服务列表,同停机步骤中的应用列表。若部分应用升级失败,可单击Java Thread Dump来诊断相应应用的问题,或单击重启,来重启相应应用的Java进程。无论应用升级是否成功,都可单击页面右上角的查看日志,来查看升级应用的具体日志信息。
重跑任务
单击重跑任务并下一步,自动重跑所有尚未重跑的任务,列表中展示本次升级时强制终止的实例。任务重跑完成后,将自动进入下一步。也可单击运行,以重跑对应的单个任务。如有必要,可单击终止来终止对应任务的运行。运行和终止支持批量操作。如果所选任务中包含已完成或已失败的任务,则将忽略这些已完成或已失败的任务,并在操作完成后自动刷新列表。
若重跑任务启动失败或部分任务重跑启动失败,系统将会报错,可在报错信息中单击重试或直接单击重跑任务并下一步再次进行重跑任务。
数据更新
默认选中运行任务并退出升级维护模式,单击更新并下一步,系统将自动执行所有未跳过且未成功执行的数据更新任务。当所有阻塞任务运行完毕后,系统将自动恢复任务下发,并退出升级维护模式,同时将记录恢复任务下发和退出升级维护模式的完成时间。非阻塞任务将继续运行。其中,已在运行中的任务和运行成功的任务将不会再次运行;运行失败和未运行的任务将触发运行;跳过的任务将被忽略,不会运行。
也可以单击运行,来启动相应任务;单击跳过,将该任务视为无论是否运行该任务均不阻塞升级流程并进入下一步。如有必要,可单击终止来终止相应正在运行中的任务。运行、跳过和终止均支持批量操作。当任务状态为运行成功、运行中、运行终止和运行失败时,支持单击日志详情查看任务运行的日志详情。
资产回刷任务支持查看资产回刷详情。当升级后元数据的格式变更,需要升级资产元数据。通过触发消息进行资产元数据的升级。资产回刷详情中包含总消息数、剩余消息数、成功消息数和失败消息数。其中总消息数为初始阶段每个应用上报的总数;失败消息数为处理失败的消息数。数据更新中若包含处理失败的消息,需要Dataphin运维团队确认是否可忽略,确认后再继续升级。
元数据采集任务不可跳过,可手动启动元数据采集任务,支持查看任务状态及日志详情,日志中包含总工作流数量和已完成工作流数量。升级过程中,已生成的采集实例不做变更且使用最新版本的执行代码,若实例中包含了调度变更,则变更在升级完成后的第二天生效。
升级过程中,可随时单击强制终止升级来终止本次升级。需注意,强制终止升级系统无法自愈,可能导致Dataphin不可用,强制终止前务必确认已经通过手动方式完成升级或回滚操作。建议仅由专业运维人员确认并执行此操作。强制终止升级时可选择将本次升级置为升级成功或升级失败,无论置为升级成功或升级失败系统都将记录强制完成的时间,并将本次记录加入到升级记录列表中。
步骤三:校验升级结果
已经完成系统升级所有必需的操作,进入升级校验阶段。校验升级结果页面展示实例生成数量、实例状态对比和查看失败实例信息。
用户可通过查看升级后的实例生成数量、实例状态对比、查看失败实例确认失败原因等校验升级结果。确认升级成功后,单击完成,完成本次Dataphin版本升级,系统会将此时的时间记录为完成升级的时间;若升级结果不符合预期,请联系Dataphin运维团队进行确认及修复。
实例生成数量:分为最近生产实例数和近7日平均实例数,实例生成时间固定为每日23点。
最近生产实例数:动态查询最后一次实例生成的信息,并展示实例生成的数量及对应业务日期。若无生成实例,则展示待生成。日期格式统一为
YYYY-MM-DD。近7日平均实例数:业务日期从T-8到T-2的日均实例数,若未生成则不计数。若近7天均为生成实例,则展示为NA。
实例状态对比:通过业务日期(默认为T-1)和租户来筛选数据,并由环形图和柱状图分别展示实例的状态分布和近7日的实例数。
状态分布:展示经过筛选后的实例的状态分布。
近7日实例数:展示经过筛选后的按状态分类的实例数量及总实例数量。
查看失败实例:失败实例列表中展示今日运行失败且昨日运行成功的任务实例,包含各实例的实例ID、节点ID、任务名称、节点类型、调度类型、最近更新时间和运行状态。升级完成后需持续观察30分钟,对昨日运行成功且今日运行失败的任务进行重跑,仍失败的任务可根据运行日志判断是否为任务本身异常。任务列表每20秒刷新一次,同时更新任务状态。