GCP Composer提交Dataproc作业时认证凭证缺失问题求助
问题分析
从堆栈跟踪的核心错误google.auth.exceptions.DefaultCredentialsError: File celery was not found.可以判断:系统尝试读取名为celery的文件作为GCP认证凭证,但该文件不存在。问题根源是环境变量GOOGLE_APPLICATION_CREDENTIALS被错误设置为字符串"celery",导致Google Auth库无法定位正确的认证凭证。
修复建议
- 修正Composer环境变量:进入GCP控制台的Composer环境页面,找到环境变量配置项,若存在
GOOGLE_APPLICATION_CREDENTIALS且值为"celery",直接删除该变量(Composer工作节点默认通过元数据服务器获取服务账号凭证,无需手动设置此变量);若需使用自定义密钥文件,确保变量值为密钥文件在工作节点上的正确路径(例如/home/airflow/gcs/data/your-service-account-key.json)。 - 检查DAG代码配置:查看
DataprocSubmitJobOperator的代码,确认是否手动指定了错误的credentials_path参数。如果代码中存在类似credentials_path="celery"的错误配置,删除该参数或替换为正确的密钥路径。 - 验证服务账号权限:确认Composer环境使用的服务账号具备
Dataproc Editor或对应权限角色(至少包含dataproc.jobs.submit权限),确保能正常提交Dataproc作业。 - 重启工作节点(可选):修改环境变量后,重启Composer工作节点,确保配置生效。
内容的提问来源于stack exchange,提问作者nitin gupta
相关产品推荐
相关产品推荐

