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

Airflow 1.10.11(EC2 Docker-Compose部署)配置及导出问题咨询

关于Bitnami Docker Compose部署的Airflow 1.10.11的配置与数据管理

一、获取完整配置信息

你已经知道scheduler容器内的/opt/bitnami/airflow/airflow.cfg是核心配置文件,补充以下获取完整配置的方法:

  • 检查docker-compose.yml中的环境变量:Bitnami的Airflow镜像会用AIRFLOW_前缀的环境变量覆盖cfg文件的配置项,这些变量是配置的重要组成部分
  • 导出容器内的完整配置文件到EC2本地:
    docker exec -it <你的airflow-scheduler容器名> cat /opt/bitnami/airflow/airflow.cfg > airflow-local.cfg
    
  • 导出容器内的Airflow相关环境变量:
    docker exec -it <你的airflow-scheduler容器名> env | grep AIRFLOW_ > airflow-env-vars.txt
    
  • 如果docker-compose配置了外部卷挂载,检查EC2本地对应的挂载目录,可能有持久化的配置文件备份

二、Connections、Variables、XCom的存储位置

这些数据默认存储在Airflow的元数据库中,并非某个容器的本地文件。在Bitnami的Docker Compose部署方案中,元数据库通常是独立的postgres容器(具体看你的docker-compose.yml中的数据库服务定义),数据会通过卷持久化到EC2本地磁盘。

只要是能正常连接到元数据库的Airflow服务容器(scheduler、webserver、worker均可),都可以执行数据导出命令。

三、数据导出操作方法

1. Connections导出

airflow connections export命令需要在能访问元数据库的Airflow容器CLI中执行,推荐用scheduler容器:

  1. 进入scheduler容器:
    docker exec -it <你的airflow-scheduler容器名> bash
    
  2. 执行导出命令:
    airflow connections export connections.json
    
  3. 将导出的文件复制到EC2本地:
    docker cp <你的airflow-scheduler容器名>:/opt/bitnami/airflow/connections.json ./
    

2. Variables导出(含加密变量)

加密变量依赖airflow.cfg中的fernet_key解密,只要在配置了正确key的容器中执行导出,就能得到明文变量:

  1. 进入scheduler容器后执行导出:
    airflow variables export variables.json
    
  2. 复制文件到EC2本地:
    docker cp <你的airflow-scheduler容器名>:/opt/bitnami/airflow/variables.json ./
    

注意:如果在没有正确fernet_key的环境执行导出,加密变量会显示为密文,无法直接使用。

3. XCom导出

可以通过Airflow CLI或直接查询元数据库导出:

  • CLI方式(在scheduler容器中执行):
    # 导出指定DAG和Task的XCom数据
    airflow xcom list --task-id <目标任务ID> --dag-id <目标DAG ID> --output json > xcom-data.json
    
  • 批量导出(通过postgres容器):
    1. 进入postgres容器:
      docker exec -it <你的airflow-postgres容器名> psql -U <Airflow数据库用户名> -d <Airflow数据库名>
      
    2. 执行SQL导出到CSV:
      COPY (SELECT * FROM xcom) TO '/tmp/xcom.csv' WITH CSV HEADER;
      
    3. 复制文件到EC2本地:
      docker cp <你的airflow-postgres容器名>:/tmp/xcom.csv ./
      

四、注意事项

  • 执行导出前确保目标容器处于运行状态,且能正常连接元数据库
  • 导出的文件包含敏感信息,需妥善保管
  • 如果你的Airflow使用外部数据库(比如AWS RDS),数据存储在外部服务中,需通过对应数据库的导出工具操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:00:57