【发布时间】:2018-09-06 01:59:30
【问题描述】:
我正在尝试从法兰克福地区的 s3 存储桶下载文件。
原来在spark 2.2.1用hadoop 2.7.5遇到这个问题。
我收到了这条消息:
com.amazonaws.services.s3.model.AmazonS3Exception:状态代码:400,AWS 服务:Amazon S3,AWS 请求 ID:F6EB301E99C9BC7A,AWS 错误代码:null,AWS 错误消息:错误请求,S3 扩展请求 ID:
设置
sc.hadoopConfiguration.set("fs.s3a.endpoint", "s3.eu-central-1.amazonaws.com")
没有改变。
运行./hadoop-2.7.5/bin/hadoop fs -ls s3a://frankfurt-bucket-name
返回完全相同的错误。
这是我的 core-site.xml
<configuration>
<property>
<name>fs.s3a.endpoint</name>
<value>s3.eu-central-1.amazonaws.com</value>
</property>
</configuration>
如何让hadoop使用V4签名?
【问题讨论】:
-
使用 hadoop-3.0.1 和 aws-sdk 1.11.999 它可以开箱即用,无需配置 s3a 端点
-
那个 1.10。需要告诉系统属性 AWS SDK 的版本切换到 v4 auth ..恐怕我不知道这个名字,所以你会自己去谷歌搜索。好消息:可以做到!
-
我尝试在 aws-hadoop 2.7.5 和 aws sdk 1.7.4 上将
fs.s3a.signing-algorithm设置为V4但没有帮助????????♀️ -
就是这个。
标签: apache-spark hadoop amazon-s3