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

Airflow 2.1.1配置Scheduler HA触发unsupported pickle protocol:5错误求助

Airflow Scheduler HA 报错排查方案

根因定位

ValueError: unsupported pickle protocol:5为Python版本不兼容导致的序列化报错:Pickle协议版本5是Python 3.8及以上版本的专属特性,你两台部署Scheduler的节点Python版本不一致,其中版本>=3.8的节点往Postgres元数据库写入了协议5序列化的DAG元数据,另一台版本<3.8的节点读取时无法识别该协议,触发报错同时导致先启动的Scheduler失效。

排查步骤

  • 分别登录两台Scheduler节点,执行python3 --version命令检查Python版本,确认是否存在版本差
  • 若Scheduler运行在虚拟环境中,激活对应虚拟环境后再次执行python3 --version,确认虚拟环境Python版本是否一致
  • 检查两台节点airflow.cfg配置文件中core段的pickle_dags参数是否一致:Airflow 2.x版本默认关闭该参数,若你手动开启,会直接将序列化后的DAG存入数据库,放大版本不一致的影响

修复方案

  • 统一两台Scheduler节点的Python版本,优先对齐第一台正常运行节点的Python版本,建议使用Python 3.8及以上版本
  • 同步所有Airflow相关节点(Scheduler、Worker、WebServer)的Python版本、Airflow版本及所有依赖包版本,避免其他兼容问题
  • 若无DAG序列化入库的需求,将airflow.cfg中pickle_dags参数设为False,要求所有节点本地存储一致的DAG文件,彻底规避跨节点序列化兼容问题
  • 修复版本配置后,清理元数据库中已存储的错误序列化DAG数据:删除dag表中对应报错DAG的记录,重启所有Scheduler服务后Airflow会自动重新加载DAG生成正确元数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:36:04