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

同一台服务器上能否同时在多个端口运行多个Airflow实例?

同一服务器部署多Airflow实例方案

Airflow默认读取AIRFLOW_HOME环境变量对应目录下的配置文件,你只需要为每个实例指定独立的配置加载路径即可,不存在只能使用一份配置的限制。

方法1:使用独立AIRFLOW_HOME部署(推荐)

该方案可实现两个实例的配置、DAG、元数据完全隔离,适合业务场景完全独立的两个Airflow实例:

  • 第一步:创建两个独立的Airflow家目录
mkdir -p ~/airflow-inst1 ~/airflow-inst2
  • 第二步:分别初始化两个实例的配置
    第一个实例(默认端口8080)配置初始化:
    export AIRFLOW_HOME=~/airflow-inst1
    airflow db init
    # 编辑目录下的airflow.cfg,web_server_port保持默认8080,元数据库默认存储在当前家目录下,自然和第二个实例隔离
    
    第二个实例(自定义端口如8081)配置初始化:
    export AIRFLOW_HOME=~/airflow-inst2
    airflow db init
    # 编辑目录下的airflow.cfg,将web_server_port修改为8081即可
    
  • 第三步:分别启动两个实例,启动前需指定对应家目录
    启动实例1:
    export AIRFLOW_HOME=~/airflow-inst1
    airflow webserver -D
    airflow scheduler -D
    
    启动实例2:
    export AIRFLOW_HOME=~/airflow-inst2
    airflow webserver -D
    airflow scheduler -D
    

方法2:启动时临时指定端口(适用于仅端口不同、其余配置可共用的场景)

如果两个实例除端口外其他配置完全一致,可直接通过启动参数覆盖端口,无需修改配置文件:

  • 启动第一个默认端口实例:
airflow webserver -p 8080 -D
airflow scheduler -D
  • 启动第二个自定义端口实例:
airflow webserver -p 8081 -D
airflow scheduler -D

注意:该方法默认会共用同一份元数据库和DAG目录,如需隔离可在启动前通过AIRFLOW__DATABASE__SQL_ALCHEMY_CONN、AIRFLOW__CORE__DAGS_FOLDER环境变量覆盖对应配置即可。

注意事项

  • 两个实例的元数据库必须完全隔离,不能共用同一个库,否则会出现数据冲突、任务调度异常
  • 如使用CeleryExecutor,还需保证两个实例使用不同的消息队列(Redis/RabbitMQ)库号或独立实例,同时修改flower端口避免冲突
  • 业务隔离的实例建议分开存储DAG目录,避免互相加载不需要的DAG文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:18:03