You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory托管Airflow 2.4.3中DAG运行持续卡住问题

ADF托管Airflow DAG持续Running的排查与配置调整

一、ADF托管Airflow特有配置检查

  • 工作节点资源配额:ADF托管Airflow默认工作节点规格(如Standard_D2s_v3)可能不足以支撑任务运行,尤其是涉及外部数据交互的场景。进入环境配置页面,尝试升级工作节点的CPU/内存规格,避免因资源不足导致任务挂起。
  • 虚拟网络出站规则:如果DAG任务需要访问Azure存储、数据库等外部资源,需确认托管环境所在的虚拟网络已配置允许出站访问的规则。本地运行不受VNet限制,但托管环境可能被防火墙拦截,导致任务无法完成。
  • 日志存储配置:ADF托管Airflow必须关联Azure存储账户存储任务日志,未正确配置会导致任务因无法写入日志而卡住。在环境设置中确认已指定存储账户和容器,且Airflow服务拥有该存储账户的读写权限。

二、Airflow 2.4.3版本适配配置调整

  • 调整Executor类型:Airflow 2.4.x默认Executor可能与ADF托管环境适配不佳,推荐使用CeleryExecutor。在环境的自定义配置中添加:
    executor = CeleryExecutor
    
  • 显式设置任务超时与重试:Airflow 2.4.3对任务超时的默认限制可能更严格,与ADF调度机制冲突。在DAG的default_args中添加超时和重试参数:
    from datetime import timedelta
    
    default_args = {
        'owner': 'airflow',
        'depends_on_past': False,
        'retries': 1,
        'retry_delay': timedelta(minutes=5),
        'execution_timeout': timedelta(minutes=30)  # 避免任务无限期运行
    }
    
  • 调整任务并发数:Airflow 2.4.x默认task_concurrency值过小可能导致任务排队阻塞,在自定义配置中修改:
    task_concurrency = 10  # 根据实际任务量调整
    

三、任务执行环境排查

  • 依赖包安装:本地运行时依赖已齐全,但ADF托管节点可能缺少必要包。在DAG所在存储账户的根目录添加requirements.txt,列出所有依赖(如apache-airflow-providers-azure),ADF会自动安装这些依赖。
  • 查看任务日志:即使任务处于Running状态,也可通过Airflow UI进入任务实例查看日志。若日志无法加载,优先排查存储账户配置;若日志显示任务卡在特定步骤,针对性解决资源访问或代码问题。
  • 确认start_date设置:Airflow 2.4.3对start_date校验更严格,需确保其为固定的过去时间,禁止使用datetime.now()这类动态值,否则会导致任务触发异常。

内容的提问来源于stack exchange,提问作者Pete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 23:57:19