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

Airflow UI无法编辑spark_default连接报fernet.InvalidToken错误如何解决

问题核心原因

Fernet是Airflow用来加密存储敏感数据(比如连接配置的密码、extra字段内容)的对称加密算法,你遇到的cryptography.fernet.InvalidToken报错,本质是当前配置的Fernet Key,无法解密之前已经存在元数据库里的spark_default连接的加密内容。

你虽然按官方要求生成导出了Fernet Key,但问题出在部署的时间顺序:

  • 容器第一次启动、初始化Airflow元数据库时,如果你当时没有提前配置固定的Fernet Key,Airflow会自动生成一个临时密钥,初始自带的spark_default连接的敏感字段就是用这个临时密钥加密存储的
  • 后续你手动生成新的Fernet Key并配置后,旧的加密内容用新密钥无法解密,就会触发该报错
修复方案
  • 方案1:删除旧的spark_default连接后重建(推荐,不影响其他已有配置)
    进入Airflow的元数据库,执行SQL删除旧连接:

    DELETE FROM connection WHERE conn_id = 'spark_default';
    

    重启Airflow服务后,直接在UI里新建一个ID为spark_default的Spark连接,填写对应主机、端口、extra配置即可,新连接会用你当前配置的Fernet Key加密存储,不会再出现解密失败问题。

  • 方案2:重置元数据库(仅适合还没有自定义DAG、连接配置的全新部署场景)
    先停掉所有Airflow服务,执行重置命令:

    airflow db reset
    

    重置完成后再启动服务,所有初始连接都会用你当前配置的Fernet Key加密。

后续部署注意事项

容器化部署Airflow时,一定要在第一次启动、初始化元数据库之前,就把固定的AIRFLOW__CORE__FERNET_KEY环境变量配置到docker-compose的env配置或者.env文件中,不要使用动态生成的临时密钥,避免后续密钥变更导致所有加密的敏感数据失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:48:02