【问题标题】:Cannot access S3 bucket with Hadoop无法使用 Hadoop 访问 S3 存储桶
【发布时间】:2017-08-17 15:57:51
【问题描述】:

我正在尝试使用 Hadoop (2.7.3) 访问我的 S3 存储桶,我得到以下信息

ubuntu@AWS:~/Prototype/hadoop$ ubuntu@AWS:~/Prototype/hadoop$ bin/hadoop fs -ls s3://[bucket]/

17/03/24 15:33:31 警告 util.NativeCodeLoader:无法加载 适用于您平台的 native-hadoop 库...使用内置 java 类 在适用的情况下 -ls:致命的内部错误 com.amazonaws.services.s3.model.AmazonS3Exception:状态代码:400, AWS 服务:Amazon S3,AWS 请求 ID:1FA2318A386330C0,AWS 错误 代码:空,AWS 错误消息:错误请求,S3 扩展请求 ID: 1S7Eq6s9YxUb9bPwyHP73clJvD619LZ2o0jE8VklMAA9jrKXPbvT7CG6nh0zeuluGrzybiPbgRQ= 在 com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:798) 在 com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:421) 在 com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:232) 在 com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3528) 在 com.amazonaws.services.s3.AmazonS3Client.headBucket(AmazonS3Client.java:1031) 在 com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:994) 在 org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:297) 在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669) 在 org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94) 在 org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703) 在 org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685) 在 org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373) 在 org.apache.hadoop.fs.Path.getFileSystem(Path.java:295) 在 org.apache.hadoop.fs.shell.PathData.expandAsGlob(PathData.java:325) 在 org.apache.hadoop.fs.shell.Command.expandArgument(Command.java:235) 在 org.apache.hadoop.fs.shell.Command.expandArguments(Command.java:218) 在 org.apache.hadoop.fs.shell.Command.processRawArguments(Command.java:201) 在 org.apache.hadoop.fs.shell.Command.run(Command.java:165) 在 org.apache.hadoop.fs.FsShell.run(FsShell.java:287) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 在 org.apache.hadoop.fs.FsShell.main(FsShell.java:340) ubuntu@AWS:~/Prototype/hadoop$

conf-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>s3://[ Bucket ]</value>
    </property>

    <property>
            <name>fs.s3a.endpoint</name>
            <value>s3.eu-central-1.amazonaws.com</value>
    </property>

    <property>
        <name>fs.s3a.access.key</name>
        <value>[ Access Key Id ]</value>
    </property>

    <property>
        <name>fs.s3a.secret.key</name>
        <value>[ Secret Access Key ]</value>
    </property>

    <property>
        <name>fs.s3.awsAccessKeyId</name>
        <value>[ Access Key Id ]</value>
    </property>

    <property>
        <name>fs.s3.awsSecretAccessKey</name>
        <value>[ Secret Access Key ]</value>
    </property>

    <property>
        <name>fs.s3n.awsAccessKeyId</name>
        <value>[ Access Key Id ]</value>
    </property>

    <property>
        <name>fs.s3n.awsSecretAccessKey</name>
        <value>[ Secret Access Key ]</value>
    </property>

    <property>
        <name>fs.s3.impl</name>
        <value>org.apache.hadoop.fs.s3a.S3AFileSystem</value>
    </property>

    <!-- Comma separated list of local directories used to buffer
         large results prior to transmitting them to S3. -->
    <property>
        <name>fs.s3.buffer.dir</name>
        <value>/tmp</value>
    </property>
</configuration>

有人知道是什么问题吗?

编辑:存储桶和访问它的虚拟机位于法兰克福。它看起来类似于https://docs.hortonworks.com/HDPDocuments/HDCloudAWS/HDCloudAWS-1.8.0/bk_hdcloud-aws/content/s3-trouble/index.html,但添加端点后仍然不起作用。

【问题讨论】:

  • 从错误中很难说。您可以尝试暂时授予对存储桶的匿名访问权限,以查看其是否存在存储桶访问控制问题?
  • 向所有人授予权限仍然是同样的错误。

标签: amazon-web-services hadoop amazon-s3


【解决方案1】:

听起来像 V4 身份验证问题,fs.s3a.endpoint 属性应该已经解决了这个问题

时钟问题也可能导致问题。检查 Joda 时间,并确保您的所有机器都赶上了本周末的时钟变化。

尝试同时使用 Hadoop 2.8.0 RC3,看看问题是否已经消失。如果它仍然存在,那就是在 apache 列表中寻求帮助的版本。

【讨论】:

  • 适用于 2.8.0。它真的是RC(不是最终的)吗? archive.apache.org/dist/hadoop/common/hadoop-2.8.0
  • 我认为投票现在已经通过,但我昨天回答了,升级仍然存在问题,或者更具体地说,获取一个大小和签名的文件
猜你喜欢
  • 2012-06-22
  • 2023-02-19
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2020-05-05
  • 1970-01-01
  • 2015-08-23
相关资源
最近更新 更多