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

CloudRunExecuteJobOperator触发GCP任务失败,伴PostgreSQL连接异常

问题分析与解决方案

你的日志暴露了两个核心异常:一是任务尝试连接localhost:3306(MySQL默认端口,而非Cloud Composer元数据库PostgreSQL的5432端口),二是连接被服务器意外终止。结合CloudRunExecuteJobOperator的特性,以下是针对性修复方案:

  • 检查Cloud Run任务的数据库连接配置
    排查Cloud Run任务的代码或容器镜像,确认是否硬编码了错误的DB连接字符串(如localhost:3306)。替换为Cloud Composer元数据库的正确地址:

    • 在Cloud Composer环境详情页获取Cloud SQL实例的公网/私有IP
    • 端口固定为5432,用户名、密码参考Cloud Composer的环境变量配置
  • 验证VPC网络与访问权限
    若Cloud Run任务需要访问Cloud SQL元数据库:

    • 确保Cloud Run服务配置了VPC连接器,且与Cloud SQL实例在同一VPC
    • 检查Cloud SQL的防火墙规则,允许VPC连接器的IP段访问5432端口
    • 启用Cloud Run的私有访问(若使用Cloud SQL私有IP)
  • 调整Airflow数据库连接池参数
    在Cloud Composer的Airflow配置中修改以下参数,缓解连接耗尽问题:

    sql_alchemy_pool_size = 20          # 提升基础连接池容量
    sql_alchemy_max_overflow = 40       # 增加溢出连接数
    sql_alchemy_pool_recycle = 3600     # 自动回收超过1小时的连接
    
  • 检查Cloud SQL实例状态
    登录Cloud Console查看Cloud SQL监控:

    • 确认实例连接数未达到上限(不同实例规格有对应连接数限制)
    • 查看CPU、内存使用率,避免因资源耗尽导致实例终止连接
    • 检查Cloud SQL操作日志,确认是否有实例重启或异常终止记录
  • 排查CloudRunExecuteJobOperator配置

    • 确保operator为Cloud Run任务绑定了roles/cloudsql.client角色,赋予访问Cloud SQL的权限
    • 避免在env_vars参数中错误覆盖Airflow的数据库连接环境变量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:25:56