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

Apache Airflow数据库启动失败:执行命令遇JSON Schema验证错误

解决Airflow启动时JSON Schema验证失败('class-names'额外属性)问题

问题原因

这个错误是由于Airflow版本与Google Cloud Providers版本不兼容,或者配置文件中存在已被废弃的class-names配置项,导致BigQuery触发器的JSON Schema验证不通过。

解决方案

1. 检查版本兼容性

先查看当前安装的Airflow和Google Provider版本:

pip show apache-airflow apache-airflow-providers-google

Airflow与Google Providers存在严格的版本匹配关系,比如:

  • Airflow 2.6.x 对应 apache-airflow-providers-google>=9.0.0,<10.0.0
  • Airflow 2.7.x 对应 apache-airflow-providers-google>=10.0.0,<11.0.0
    如果版本不匹配,需要调整到兼容版本。

2. 移除配置中的废弃属性

找到Airflow配置文件(默认路径为./airflow.cfg,虚拟环境下可通过airflow info查看配置路径),搜索包含class-names的BigQuery相关配置段,直接删除该属性。

例如,若配置中有类似以下内容:

[bigquery_trigger]
class-names = xxx.xxx.TriggerClass

删除class-names = xxx.xxx.TriggerClass这一行即可。

3. 重新初始化数据库(谨慎操作)

如果修改配置后仍报错,可重置并迁移数据库:

# 注意:此操作会清空现有Airflow数据库数据
airflow db reset -y
airflow db migrate

4. 安装兼容版本的Google Provider

若版本不兼容,卸载当前Provider并安装匹配版本:

pip uninstall apache-airflow-providers-google -y
# 替换<兼容版本号>为对应版本,比如9.16.0(适配Airflow 2.6.x)
pip install apache-airflow-providers-google==<兼容版本号>

完成以上步骤后,重新执行airflow standalone即可正常启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 20:12:09