Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 无法使用Hadoop访问S3存储桶_Amazon Web Services_Hadoop_Amazon S3 - Fatal编程技术网

Amazon web services 无法使用Hadoop访问S3存储桶

Amazon web services 无法使用Hadoop访问S3存储桶,amazon-web-services,hadoop,amazon-s3,Amazon Web Services,Hadoop,Amazon S3,我正在尝试使用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:无法加载 适用于您的平台的本机hadoop库。。。使用内置java类 如适用 -ls:致命内部错误com.amazonaws.services.s3.mo

我正在尝试使用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:无法加载 适用于您的平台的本机hadoop库。。。使用内置java类 如适用 -ls:致命内部错误com.amazonaws.services.s3.model.amazons3异常:状态代码:400, AWS服务:Amazon S3,AWS请求ID:1FA2318A386330C0,AWS错误 代码:null,AWS错误消息:错误请求,S3扩展请求ID: 1S7Eq6s9YxUb9bPwyHP73clJvD619LZ2o0jE8VklMAA9jrKXPbvT7CG6nh0zeuluGrzybiPbgRQ= 在 amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:798) 在 amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:421) 在 com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:232) 在 amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3528) 在 amazonaws.services.s3.AmazonS3Client.headBucket(AmazonS3Client.java:1031) 在 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>

fs.defaultFS
s3://[桶]
fs.s3a.endpoint
s3.eu-central-1.amazonaws.com
fs.s3a.access.key
[访问密钥Id]
fs.s3a.secret.key
[秘密访问密钥]
fs.s3.awsAccessKeyId
[访问密钥Id]
fs.s3.awsSecretAccessKey
[秘密访问密钥]
fs.s3n.awsAccessKeyId
[访问密钥Id]
fs.s3n.awsSecretAccessKey
[秘密访问密钥]
fs.s3.impl
org.apache.hadoop.fs.s3a.S3AFileSystem
fs.s3.buffer.dir
/tmp
有人知道是什么问题吗


编辑:bucket和访问它的VM位于法兰克福。它看起来类似于,但添加端点后仍然不起作用。

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

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


试着抓取Hadoop2.8.0RC3,看看问题是否已经解决了。如果它仍然存在,那就是apache列表中需要帮助的版本。

很难从错误中判断。你能暂时授予匿名访问bucket的权限,看看这是否是bucket访问控制问题吗?授予每个人的权限仍然是相同的错误。适用于2.8.0。它真的是RC(不是最终版本)吗?我想现在投票已经通过了,但我昨天回答了&upgrad仍然存在问题,或者更具体地说,需要一个如此大的文件和签名