【问题标题】:Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden (Hadoop + S3)禁止(服务:Amazon S3;状态代码:403;错误代码:403 禁止(Hadoop + S3)
【发布时间】:2018-05-11 12:10:26
【问题描述】:

我正在尝试通过 Hadoop Shell 命令访问 s3 文件,当我执行以下命令时出现此错误。

我这样做是为了什么 我已经安装了 Hadoop 单节点(hadoop-2.6.1)并添加了(hadoop aws jar 和 aws jdk jar 在类路径中)

我执行的命令

 hdfs dfs -ls s3a://s3-us-west-2.amazonaws.com/azpoc1/

错误

ubuntu@ip-172-31-2-211:~/hadoop-2.6.1$ hdfs dfs -ls s3a://s3-us-west-2.amazonaws.com/azpoc1/
-ls: Fatal internal error
com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: FC80B14D00C2FBE0; S3 Extended Request ID: TAHwxzqjMF8CD3bTnyaRGwpAgQnu0DsUFWL/E1llrXDfS+CqEMq6K735Koh7QkpSwEe8jzIOIX0=), S3 Extended Request ID: TAHwxzqjMF8CD3bTnyaRGwpAgQnu0DsUFWL/E1llrXDfS+CqEMq6K735Koh7QkpSwEe8jzIOIX0=
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1632)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1304)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1058)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649)
        at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513)
        at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4365)
        at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4312)
        at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:1270)
        at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:1245)
        at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:688)
        at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:71)
        at org.apache.hadoop.fs.Globber.getFileStatus(Globber.java:57)
        at org.apache.hadoop.fs.Globber.glob(Globber.java:252)
        at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1625)
        at org.apache.hadoop.fs.shell.PathData.expandAsGlob(PathData.java:326)
        at org.apache.hadoop.fs.shell.Command.expandArgument(Command.java:224)
        at org.apache.hadoop.fs.shell.Command.expandArguments(Command.java:207)
        at org.apache.hadoop.fs.shell.Command.processRawArguments(Command.java:190)
        at org.apache.hadoop.fs.shell.Command.run(Command.java:154)
        at org.apache.hadoop.fs.FsShell.run(FsShell.java:287)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
        at org.apache.hadoop.fs.FsShell.main(FsShell.java:340)

我的 core-site.xml 文件

<configuration>

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:50000</value>
</property>

<property>
<name>fs.s3a.access.key</name>
<value>*****</value>
</property>

<property>
<name>fs.s3a.secret.key</name>
<value>*****</value>
</property>

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

【问题讨论】:

  • 您确定您的密钥需要在此处发布吗?我会把它们伪装成******

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


【解决方案1】:

首先,不要发布您的密钥和访问密钥。这是一个重大的安全风险。

与您的 IAM 用户相关的权限是什么?我的猜测是它没有适当的权限来访问存储桶。我会暂时给它太多权限(比如 s3:*),看看它是否有效。如果是这样,那么它的权限。

【讨论】:

  • 您好,感谢您的回答,我已授予 s3:* 之类的权限。让我检查更多权限,实际上我嘲笑了安全密钥,它不是真正的一个
【解决方案2】:

有一个完整的 troubleshooting s3a 文档要查看:从那里开始。

我还提出了一些诊断模块,它尝试在不打印机密的情况下调试连接问题storediag。获取最新版本并查看内容。

【讨论】:

    猜你喜欢
    • 2016-01-18
    • 1970-01-01
    • 2023-02-21
    • 2022-12-30
    • 1970-01-01
    • 2018-06-01
    • 2013-06-27
    • 1970-01-01
    • 2022-11-08
    相关资源
    最近更新 更多