【问题标题】:Minio, when used with spark on EKS cluster getting access denied errorMinio,在 EKS 集群上与 spark 一起使用时出现访问被拒绝错误
【发布时间】:2021-10-26 22:53:49
【问题描述】:

我正在使用 MINIO,并且我在 amazon EKS kubernetes 集群上启动了一个带有 helm 的 MINIO 网关。我添加了以下火花端所需的属性

sparkConf.set("fs.s3a.endpoint", "minio-k8s-service':9000");
sparkConf.set("fs.s3a.connection.ssl.enabled", "false");
sparkConf.set("fs.s3a.signing-algorithm", "S3SignerType");
sparkConf.set("s.s3a.connection.timeout", "100000");
sparkConf.set("spark.master", "k8sSchedulerURL");
sparkConf.set("spark.deploy.mode", "cluster");
sparkConf.set("fs.s3a.committer.staging.conflict-mode", "replace");sparkConf.set("spark.hadoop.fs.s3a.access.key","myaccesskey")sparkConf.set("spark.hadoop.fs.s3a.secret.key","mysecretkey")

下面的代码行可以正常工作。当我尝试从 S3 读取文件时

JavaSparkContext(session.sparkContext()).textFile("s3a://mybbucket/myfolder/sample.parquet", 1)

但是,如果我尝试加载如下所示的文件,则会失败并出现访问被拒绝错误

sc.read().parquet("s3a://mybucket/myfolder/myfile.parquet")

在 s3a://mybucket/myfolder/testfile.parquet 上出现错误 getFileStatus 失败:com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden ; 请求 ID: XYZ123XYZ; S3 扩展请求 ID: null), S3 扩展请求 ID: null:403 Forbidden

我正在使用带有 spark3.1.1 的 hadoop-aws-3.2.0 jar。我使用 AWS 的 accesskey 和 secretkey 是正确的,并尝试了所有可能的选项。即使通过正确的凭据显示此错误,此错误看起来也很奇怪。

任何帮助表示赞赏。

【问题讨论】:

  • AWS Glue 本地 docker 实例尝试通过 pyspark 脚本连接到 Minio s3 存储时遇到同样的问题,您解决了吗?

标签: apache-spark kubernetes pyspark amazon-eks minio


【解决方案1】:

您可能必须将fs.s3a.path.style.access 设置为true。如果它不适合您,MinIO 团队可以在他们的公共 slack 频道上或通过电子邮件 24/7/365 回答问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2014-07-07
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    相关资源
    最近更新 更多