【发布时间】: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