EMR无服务器无法连接到其他区域的s3



我有一个EMR无服务器应用程序,无法连接到另一个地区的S3桶。有解决这个问题的方法吗?可能是在提交新作业时要在作业参数或Spark参数中设置的参数。错误如下:

ExitCode: 1. Last few exceptions: Caused by: java.net.SocketTimeoutException: connect timed out Caused by: com.amazon.ws.emr.hadoop.fs.shaded.org.apache.http.conn.ConnectTimeoutException

为了连接其他区域的S3桶或访问外部服务,需要在VPC中创建EMR Serverless应用。

这在注意事项页中提到:

在没有VPC连接的情况下,作业可以访问同一AWS区域内的部分AWS服务端点。这些服务包括Amazon S3、AWS Glue、Amazon DynamoDB、Amazon CloudWatch、AWS KMS和AWS Secrets Manager。

下面是一个在VPC中创建应用程序的示例AWS CLI命令-您需要提供子网id和安全组id列表。可以在配置VPC访问中找到更多详细信息。

aws emr-serverless create-application 
--type SPARK                                                                                                
--name etl-jobs 
--release-label "emr-6.6.0" 
--network-configuration '{
"subnetIds": ["subnet-01234567890abcdef","subnet-01234567890abcded"],
"securityGroupIds": ["sg-01234566889aabbcc"]
}'

相关内容

  • 没有找到相关文章