繁体   English   中英

无法使用Hadoop访问S3存储桶

[英]Cannot access S3 bucket with Hadoop

我正在尝试使用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 WARN util.NativeCodeLoader:无法为你的平台加载native-hadoop库...使用内置java类适用的-ls:致命内部错误com.amazonaws.services.s3.model .AmazonS3Exception:状态代码:400,AWS服务:亚马逊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)at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:232)at com.amazonaws.services.s3。 AmazonS3Client.invoke(AmazonS3Client.java:3528)at com.amazonaws.services.s3.AmazonS3Client.headBucket(AmazonS3Client.java:1031)at com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:994)at org .apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileS ystem.java:297)org.apache中的org.apache.hadoop.fs.Fs.Sache.access可以获得org.apache.hadoop.fs.FileSystem.access $ 200(FileSystem.java:94)的org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)。位于org.apache.hadoop.fs.FileSystem.get的org.apache.hadoop.fs.FileSystem $ Cache.get(FileSystem.java:2685)中的hadoop.fs.FileSystem $ Cache.getInternal(FileSystem.java:2703)文件系统.java:373)org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)位于org.apache的org.apache.hadoop.fs.shell.PathData.expandAsGlob(PathData.java:325)位于org.apache.hadoop.fs.shell.Command的org.apache.hadoop.fs.shell.Command.expandArguments(Command.java:218)的.hadoop.fs.shell.Command.expandArgument(Command.java:235)位于org.apache.hadoop.fs.FsShell.run(FsShell.java:287)org.apache.hadoop.fs.shell.Command.run(Command.java:165)的.processRawArguments(Command.java:201) Org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)位于org.apache.hadoop.fs.FsShell.main的org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) FsShell.java:340)ubu NTU @ AWS:〜/样机/ 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>

谁知道问题是什么?

编辑:存储桶和访问它的VM位于法兰克福。 它似乎与https://docs.hortonworks.com/HDPDocuments/HDCloudAWS/HDCloudAWS-1.8.0/bk_hdcloud-aws/content/s3-trouble/index.html类似,但在添加端点后仍然无法正常工作。

听起来像V4 auth问题,fs.s3a.endpoint属性应该修复它

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM