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

如何配置Airflow适配PostgreSQL主备(冷备)复制环境?

PostgreSQL冷备主备架构下Airflow的最优部署方案

推荐方案:Airflow元库配置自动主库发现+双节点Active-Standby集群

  • 不要硬编码单个PostgreSQL节点地址,改用带读写会话属性的多节点连接串,让Airflow自动路由到可写主库。连接串示例:
    postgresql+psycopg2://user:password@pg-primary:5432,pg-secondary:5432/airflow_metadata?target_session_attrs=read-write
    
    原理:当原主库切换为备库(只读),psycopg2驱动会自动尝试连接列表中的其他节点,直到找到支持写入的主库。切换完成后无需重启Airflow,新请求会自动切换到新主库。
  • 在两台服务器部署完整的Airflow实例(包含scheduler、worker、webserver),配置为Active-Standby模式:
    • 平时仅启动其中一台的scheduler和worker,另一台保持服务停止状态
    • 用独立监控脚本(部署在PostgreSQL节点或第三方服务器)定时检测主库可写状态,当检测到主备切换完成,自动激活新主库所在服务器的Airflow服务,同时停止原节点的服务

备选方案:双节点Airflow+外部监控触发配置更新

  • 若不想调整数据库连接串,可在两台服务器部署Airflow,初始元库连接均指向当前主库
  • 放弃Airflow内部传感器检测主库状态(主库不可用时元库本身不可用,传感器无法运行),改用外部独立监控脚本:
    • 脚本定时检查PostgreSQL节点的角色(主/备)和可写状态
    • 当检测到主备切换完成,自动更新两台Airflow节点的元库连接配置(指向新主库),重启新主库侧的Airflow服务,停止原节点服务

应急方案:单节点Airflow+手动切换(仅适合低可用性场景)

  • 保持单节点Airflow部署,主备切换完成后,手动修改Airflow的元库连接配置为新主库地址,重启Airflow服务
  • 缺点:切换期间Airflow完全中断,DAG执行失败或延迟,仅适合对可用性要求极低的场景

核心原则

  • Airflow元数据库必须始终连接可写的PostgreSQL主库:scheduler、worker需要写入DAG运行状态、任务实例等元数据,连接备库会导致写入失败,服务瘫痪
  • 冷备手动切换时,务必确认新主库完成数据同步并处于可写状态后,再切换Airflow的连接,避免数据不一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:27:20