【问题标题】:Bad request when using s3a protocol on V4 s3 buckets在 V4 s3 存储桶上使用 s3a 协议时出现错误请求
【发布时间】: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


【解决方案1】:

升级 hadoop 和 spark 版本解决了这个问题。

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 1970-01-01
    • 2015-10-28
    • 2014-02-05
    • 1970-01-01
    • 2022-01-23
    • 2018-06-19
    • 1970-01-01
    • 2017-08-08
    相关资源
    最近更新 更多