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

EMR Serverless无法连接跨区域S3存储桶的解决方案咨询

EMR Serverless跨区域访问S3连接超时解决方法

你看到的java.net.SocketTimeoutException: connect timed out报错,核心原因是EMR Serverless默认使用部署区域的S3端点,未开启跨区域路由时无法正确连接其他区域的S3存储桶,可通过提交作业时配置Spark参数解决,也可根据场景选择对应方案:

  • 方案1:直接配置跨区访问参数(无网络改动,最快生效)
    提交作业时在Spark parameters中添加以下配置,将<target-bucket-region>替换为目标S3桶的实际区域代码(如us-east-1、ap-southeast-1):

    spark.hadoop.fs.s3a.endpoint.region <target-bucket-region>
    spark.hadoop.fs.s3.endpoint.region <target-bucket-region>
    spark.hadoop.fs.s3n.endpoint.region <target-bucket-region>
    spark.hadoop.fs.s3.aws.cross.region.enabled true
    

    如果你使用的是S3A文件系统,额外补充端点配置:spark.hadoop.fs.s3a.endpoint https://s3.<target-bucket-region>.amazonaws.com

  • 方案2:自定义VPC场景下的网络适配
    如果你的EMR Serverless应用关联了自定义VPC,除了上述参数外,还需要确认网络连通性配置:

    • 在对应子网创建目标区域的S3网关端点或接口端点
    • 关联的安全组、网络ACL放通到目标S3端点的443端口出站规则
    • 补充参数spark.hadoop.fs.s3a.path.style.access true,避免虚拟主机端点解析失败
  • 方案3:高延迟场景的超时阈值调整
    若跨区网络延迟较高,可在Spark参数中适当拉长连接超时时间,避免正常延迟被判定为连接失败:

    spark.hadoop.fs.s3a.connection.timeout 300000
    spark.hadoop.fs.s3.connection.timeout 300000
    

注意:跨区域访问S3会产生额外的数据传输费用,若作业数据量较大,优先通过S3跨区域复制将数据同步到EMR Serverless部署区域,可同时降低成本和访问延迟。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 13:57:17