【问题标题】:AIRFLOW_SCHEDULER_RUN_DURATION set up and scheduler doesn't restart when downAIRFLOW_SCHEDULER_RUN_DURATION 设置并且调度程序在关闭时不会重新启动
【发布时间】:2021-09-12 07:43:49
【问题描述】:

我正在经历调度程序突然停机并且没有模式。

我使用`docker在AWS ECS中运行Airflow 2.1.2

我知道这是reported issue in Airflow docs

我们设置AIRFLOW__SCHEDULER__RUN_DURATION = 3600强制调度器每小时重启一次,避免调度器突然宕机。

但尽管如此,我们看到最后一次心跳是在 9 小时前收到的。为什么会这样? 这里的问题不是气流调度程序关闭,而是强制重启的 ENV 变量不起作用。

可以避免气流调度程序重新启动吗?我们应该使用airflow.cfg而不是env variable吗?

编辑 我在这里粘贴了错误的 var 名称,但我的名称是正确的。

AIRFLOW__SCHEDULER__RUN_DURATION

我打印docker container中的var值:

echo $AIRFLOW__SCHEDULER__RUN_DURATION

It returns 3600

【问题讨论】:

    标签: docker airflow amazon-ecs airflow-scheduler


    【解决方案1】:

    啊 - 因为你在 2.1.2 - run_duration 参数已从 Airflow 2 中删除:

    你不会在这里找到它:

    https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html

    我认为解决此问题的最佳方法是确定调度程序失败的原因 - 预计它不会随机失败,我想你可以在调度程序的日志文件中挖掘并找出原因?

    【讨论】:

    • run_durations 已被删除?怎么样:airflow.apache.org/docs/apache-airflow/stable/... 仍然存在调度程序正常运行时间部分。这个异常会导致调度程序宕机吗? airflow.exceptions.SerializedDagNotFound:在 serialized_dag 表中找不到 DAG 'DWH-EXT-Appsflyer'。在 UI 中找不到 dag,但我在 DB、dag 表中找到了它。可能是 dag 没有被正确删除,尽管调度程序不活动,但它正在做某事?
    • 发现其他线程是否存在 dag 序列化问题,之后调度程序停止运行。我暂停了 4 个不活跃但没有暂停的 dag。这应该避免这种崩溃吗?或者最好从数据库中删除所有不在 UI 中的 dag?活动和暂停的区别是哪一个? UI ON/OFF 按钮是否引用了活动,对吗?如何从 UI 暂停?
    • 您对一些堆栈溢出问题有疑问。我不知道答案是什么。但是,您应该首先在日志中挖掘并找出调度程序关闭的一些原因,如果找不到,请发布带有详细日志的问题?
    • 是的,我将相关问题发布到一个新问题中,但无论如何,airfow 文档:airflow.apache.org/docs/apache-airflow/stable/… 仍然显示调度程序正常运行时间部分,该部分谈到调度程序挂起,也许这个页面需要和更新。关于找到调度程序关闭的一些原因,我在第一条评论中发布:airflow.exceptions.SerializedDagNotFound
    • Absolutley - 随时进行 PR 以更新此部分。这非常简单——只需点击“在此页面上建议更改”,您就可以使用 GitHub UI 创建 PR——无需开发环境。这很容易 - Airflow 是由社区创建的,因此非常欢迎此类贡献!
    【解决方案2】:

    我认为你的变量名有误:

    AIRFLOW__SCHEDULER__RUN_DURATION 是正确的 - 注意在 AIRFLOW 和 SCHEDULER 之后双 _

    【讨论】:

    • 是的,很抱歉,这里粘贴时打错了。我的意思是:AIRFLOW__SCHEDULER__RUN_DURATION。我编辑帖子以修复错字。
    • 我还添加了从 docker 容器中的 env 变量获得的打印值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多