airflow - 虚拟操作员失败,状态为:upstream_failed
问题描述
我有一个创建 EMR 集群的 dag,如下所示:
STEP_CONFIG = dict(
CLASS="fooA",
JAR=DEFAULT_JAR,
PROPERTIES="fooA.properties",
ACTION_ON_FAILURE="CONTINUE"
)
DEFAULT_ARGS['start_date'] = dt.datetime(2019, 12, 18)
with DAG(
DAG_NAME,
default_args=DEFAULT_ARGS,
dagrun_timeout=dt.timedelta(hours=2),
schedule_interval='@daily',
catchup=False
) as dag:
compose_dag_for_ltc(LONG_TERM_CLUSTER_NAME, JOB_NAME, STEP_CONFIG)
add_step >> step_added >> watch_step >> all_steps_finished
dag 成功创建 EMR 集群并添加所有步骤,但有时会发生 all_steps_finished 任务失败,状态为:upstream_failed。故障不在 EMR 侧,而是在气流侧。它也不会产生任何日志,这使得诊断变得更加困难。有什么想法可能在这里发生吗?
解决方案
由于您在旧 Airflow 版本上运行,这可能是一个稍后修复的错误。没有充分的理由来解释您正在经历的事情。
在 Airflow 2DummyOperator
中,任何从它继承的操作员都不会被调度程序考虑执行(如果它没有实际工作要做),请参阅源代码,在这种情况下,任务将简单地标记为成功。所以我能说的是,当您升级到 Airflow 2 时,问题很可能会得到解决。
推荐阅读
- testing - 如何获取 testCafe 退出代码
- r - 如何在绘图 3D 图中包含平滑的数据线
- xml - 架构中的标签断言错误 ORA-06512: en "XDB.DBMS_XMLSCHEMA"
- java - SSLHandshakeException:空证书链
- c# - .NET c# - 自定义显示属性
- visual-studio - JSON 语言文件扩展名,允许从代码中按键编辑 JSON 文件
- python - Matplotlib 条形图的默认颜色显示
- asp.net-core - .NET Core 类型不匹配的 Web API 中的模型绑定
- amazon-web-services - 我可以为 AWS CLI 禁用 ssl
- excel - Windows 10 上的 VBA Shell 调用权限被拒绝