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

如何将Google Dataproc的Spark Master暴露给Cloud Run服务以提交Spark作业?

解决Cloud Run向Dataproc Spark Master提交作业的方案

方法一:通过VPC连接器让Cloud Run访问Dataproc私有网络

这是最安全的生产级方案:

  • 给Cloud Run配置VPC连接器,确保连接器和你的Dataproc集群处于同一个VPC网络下。创建或更新Cloud Run服务时,执行命令:
    gcloud run deploy <你的服务名> --vpc-connector <连接器名称> --vpc-egress all-traffic
    
  • 从Dataproc集群详情页获取Spark Master的私有IP(在集群"配置"->"主节点"区域可查看),将Cloud Run配置里的Spark Master URL修改为spark://<私有IP>:7077。
  • 检查VPC防火墙规则,创建一条入站规则:目标设为Dataproc主节点的标签,来源设为VPC连接器的IP范围,端口指定7077,确保流量能正常通行。

方法二:给Dataproc Master分配静态外部IP(仅测试场景使用)

如果只是临时测试,可采用这种方式,但生产环境不推荐(存在公网暴露风险):

  • 进入Google Cloud控制台的"VM实例"页面,找到Dataproc集群的主节点实例,编辑实例并绑定一个静态外部IP地址。
  • 获取Cloud Run服务的出站IP段:
    gcloud run services describe <服务名> --format="value(status.traffic[0].latestRevision.serviceOutboundIPs)"
    
  • 配置防火墙规则,仅允许上述IP段访问Dataproc Master的7077端口,之后即可用spark://<外部IP>:7077作为提交地址。

额外注意事项

  • 确保Cloud Run服务的服务账号拥有Dataproc相关权限(比如roles/dataproc.editor或更细粒度权限),避免访问时出现权限拦截。
  • 提交Spark作业时,要保证作业依赖的Spark版本与Dataproc集群版本一致,避免兼容性问题。

内容的提问来源于stack exchange,提问作者Da Mike

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:23:17