场景:节点孤立

本文为您介绍什么是孤立节点,节点孤立的原因及解决方法。

什么是孤立节点?

孤立节点指节点在周期任务周期实例处展开父节点时,没有依赖任何父节点,这类型节点在自动调度时不会被调起,所以孤立节点不会自动调度运行,如果该孤立节点下游依赖较多,可能会造成比较严重的后果。孤立节点产生后会自动报警,如果收到孤立节点告警请及时处理。孤立节点报警机制,详情请参见孤立节点监控报警

说明

在DataWorks上,除了工作空间根节点外,自定义的每个周期调度的节点都需要有父节点依赖才可以被正常调度运行。

如何处理孤立节点?

场景

描述

解决方案

上下游节点实例生成方式不一致。

当上下游均为新建节点时,上游实例生成方式为T+1次日生成,下游实例生成方式为发布后即时生成且只有该一个上游依赖时,由于上游节点当天未生成实例,导致下游节点成为孤立节点。

请调整上游实例生成方式后重新发布。关于该场景的具体说明,详情请参见场景三:上下游任务实例生成方式不一致

上游节点不在节点有效时间内。

DataWorks上不在有效期内的节点不会生成实例。当上游节点不在节点有效时间内,若下游节点仅依赖该上游节点时,下游节点会成为孤立节点。

请前往节点调度配置界面修改上游节点生效日期,详情请参见生效日期

上游节点的节点输出变更。

上游业务变更会导致上游节点输出变更,进而导致下游依赖关系丢失。若下游节点仅依赖该一个上游时,下游节点将成为孤立节点。

请重新为下游节点设置节点依赖关系,详情请参见删除或变更节点输出的影响

跨工作空间依赖,上游节点所在工作空间未开启调度。

当前节点跨工作空间依赖某节点时,若上游节点所在工作空间未开启调度,且当前节点仅依赖该一个上游时,当前节点将变成孤立节点。

请找到对应空间负责人开启调度或去除该跨项目节点依赖。开启空间调度,详情请参见调度设置

中间任务不在补数据指定周期范围内。

执行补数据时,如果调度依赖关系中的中间任务(即依赖于上游节点,且存在下游依赖)不在补数据的周期范围内,则可能导致依赖该中间任务的下游节点孤立。

示例场景:

  • A、C为小时调度任务,每小时调度一次;B为天调度任务,每天02:00调度一次。

  • C任务依赖B任务,B任务依赖A任务。

对A、C任务执行补指定周期00:00~01:00的数据,B任务的定时时间不在该周期范围内(即不会生成该周期的实例),导致下游C任务无实例依赖而孤立。

请在周期范围内对中间任务一并执行补数据操作。详情请参见执行补数据

本示例则需在00:00~01:00对B任务执行补数据操作。

孤立节点监控报警

DataWorks每晚根据周期任务生成第二天待自动调度运行的周期实例,所以为保障周期任务可以正常产生周期实例并且自动调度运行,DataWorks内置了报警规则来对周期任务进行定期监控扫描,如有异常便会自动报警。孤立节点产生后会自动报警,如果收到孤立节点报警请及时处理。具体如下:

  • DataWorks每天定时9点、12点、16点对周期任务状态进行扫描,如有异常将会自动发送报警,但扫描时间点前10分钟内产生异常不会纳入本次扫描,该异常将会被纳入下一个周期的任务状态扫描中进行扫描。

  • 节点孤立报警为系统内置报警规则,您无须手动新建,默认以短信、邮件的方式报警给节点责任人。但您可以在规则管理页面中针对全局规则修改报警接收人。详情请参见规则管理

定位孤立节点

您可以前往运维中心,在运维大屏页面重点关注区域,查看孤立节点数量与明细。