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

无法升级到Composer 2/Airflow 2,如何本地调试Composer 1 DAG?

本地调试旧版Composer 1 DAG的可行方案

以下是几种无需依赖官方composer-dev命令的本地调试方法:

1. 手动构建匹配版本的Docker镜像

Composer 1的镜像本质是Apache Airflow特定版本 + GCP专属依赖/配置,可以自行复刻:

  • 先拉取对应Airflow版本的基础镜像(需匹配Composer 1版本对应的Airflow和Python版本,比如Composer 1.20.12对应Airflow 1.10.15 + Python 3.7):
    docker pull apache/airflow:1.10.15-python3.7
    
  • 创建Dockerfile,添加Composer 1所需的GCP依赖与配置,示例:
    FROM apache/airflow:1.10.15-python3.7
    
    # 安装Composer 1对应的GCP依赖版本(可参考官方Composer版本依赖清单)
    RUN pip install --no-cache-dir \
        google-cloud-composer==1.7.0 \
        google-cloud-storage==1.44.0 \
        google-cloud-bigquery==2.28.0 \
        apache-airflow[gcp]==1.10.15
    
    # 复制本地DAG目录到容器内
    COPY ./dags /opt/airflow/dags
    
  • 构建并运行镜像:
    docker build -t my-composer1-local .
    docker run -d -p 8080:8080 my-composer1-local
    
    访问http://localhost:8080即可进入Airflow控制台调试DAG。

2. 用Python虚拟环境复刻Composer 1环境

直接在本地虚拟环境中安装对应版本的Airflow与依赖:

  • 创建并激活对应Python版本的虚拟环境(比如Python 3.7):
    python3.7 -m venv composer1-env
    source composer1-env/bin/activate  # Windows系统用 composer1-env\Scripts\activate
    
  • 安装匹配版本的Airflow与GCP依赖:
    pip install apache-airflow[gcp]==1.10.15
    # 补充Composer 1专属依赖版本(需与线上集群一致)
    pip install google-cloud-storage==1.44.0 google-cloud-bigquery==2.28.0
    
  • 初始化Airflow并启动服务:
    airflow initdb  # Airflow 1.10版本用该命令,2.x用 airflow db init
    airflow webserver -p 8080
    # 新开终端激活虚拟环境后启动调度器
    airflow scheduler
    
  • 将本地DAG文件放到Airflow默认DAG目录(~/airflow/dags),或通过AIRFLOW_HOME环境变量指定自定义目录。

3. 从线上Composer 1集群导出配置复刻环境

如果有正在运行的Composer 1集群,可以直接导出其依赖与配置,确保本地环境与线上完全一致:

  • 导出集群的Python依赖列表:
    gcloud composer environments describe <你的集群名称> --location <集群区域> --format="value(config.softwareConfig.pypiPackages)"
    
  • 导出Airflow配置覆盖项:
    gcloud composer environments describe <你的集群名称> --location <集群区域> --format="value(config.softwareConfig.airflowConfigOverrides)"
    
  • 根据导出的依赖版本,在本地虚拟环境或Docker镜像中安装相同包,并配置对应的Airflow参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:55:25