【问题标题】:403 Error while accessing s3a using Spark/hadoop使用 Spark/hadoop 访问 s3a 时出现 403 错误
【发布时间】:2022-11-25 22:55:16
【问题描述】:

我已经通过我们用来运行 Jenkins 作业的 k8s 代理容器在 docker 中配置了 Hadoop 和 spark,我们正在使用 AWS EKS。但是在运行 spark-submit 作业时,我们收到以下错误

py4j.protocol.Py4JJavaError: An error occurred while calling o40.exists.
 com.amazonaws.services.s3.model.AmazonS3Exception: Status Code: 403, AWS Service: Amazon S3, AWS Request ID: xxxxxxxxx, AWS Error Code: null, AWS Error Message: Forbidden, S3 Extended Request ID: xxxxxxxxxxxxxxx/xxxxxxxx

我们在 k8s 中创建了一个服务帐户,并添加了注释作为 IAM 角色。(访问在 aws 中创建的 s3 的 IAM 角色) 我们看到它可以从 s3 复制文件,但在工作中出现此错误并且无法找出根本原因。

注意:星火版本 2.2.1 hadoop 版本:2.7.4

谢谢

【问题讨论】:

    标签: apache-spark hadoop amazon-eks


    【解决方案1】:

    这是一个五年前的 spark 版本,它建立在一套八年前的 hadoop 二进制文件上,包括 s3a 连接器。 “根本不存在用于获取 iam 角色的一些绑定逻辑。

    使用全套 hadoop-3.3.4 jar 升级到 spark 3.3.x,然后重试。

    (请注意,“使用最新版本”是开源应用程序出现任何问题的第一步,如果您提交错误报告,这将是所需的第一个操作)

    【讨论】:

      猜你喜欢
      • 2020-06-14
      • 2019-05-24
      • 2021-12-31
      • 2016-04-19
      • 1970-01-01
      • 2014-01-31
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多