EKS集群Spark对接Minio时textFile正常读parquet报403如何解决
问题排查方案
1. 优先修复配置错误
你目前的Spark配置存在多处笔误,先修正所有配置项:
- Endpoint配置多余单引号,修正为:
sparkConf.set("fs.s3a.endpoint", "http://minio-k8s-service:9000"),建议加上http前缀避免协议识别错误 - 超时配置键名拼写错误,将
s.s3a.connection.timeout修正为fs.s3a.connection.timeout - 统一所有s3a配置的前缀:所有s3a相关配置都加上
spark.hadoop.前缀,避免driver和executor配置不一致,修正后完整配置参考:
sparkConf.set("spark.hadoop.fs.s3a.endpoint", "http://minio-k8s-service:9000"); sparkConf.set("spark.hadoop.fs.s3a.connection.ssl.enabled", "false"); sparkConf.set("spark.hadoop.fs.s3a.signing-algorithm", "S3SignerType"); sparkConf.set("spark.hadoop.fs.s3a.connection.timeout", "100000"); sparkConf.set("spark.master", "k8sSchedulerURL"); sparkConf.set("spark.deploy.mode", "cluster"); sparkConf.set("spark.hadoop.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"); // 新增强制使用静态凭证配置,避免EKS节点IAM角色优先级高于配置的AK/SK sparkConf.set("spark.hadoop.fs.s3a.aws.credentials.provider", "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider");
2. 验证MinIO侧权限配置
textFile读单个文件仅需要对应文件的GET权限,而read.parquet操作会先触发对应目录的LIST权限校验,用于扫描目录下所有parquet分片、元数据文件:
- 确认当前使用的AK/SK对
s3a://mybucket/myfolder/目录拥有s3:ListBucket权限 - 确认桶名拼写无误:你测试textFile时用的桶名是
mybbucket(多一个b),读parquet用的是mybucket,检查是否为笔误
3. 修复签名算法适配问题
Hadoop 3.2.0版本的s3a客户端默认使用AWS V4签名,MinIO默认也优先支持V4签名:
- 如果你没有特殊配置MinIO使用V2签名,可删除
fs.s3a.signing-algorithm配置项,使用默认的V4签名即可 - 如需保留V2签名,确认MinIO启动时开启了V2签名兼容参数
4. 验证依赖版本匹配
你使用的hadoop-aws:3.2.0必须对应匹配版本的aws-java-sdk-bundle依赖,两者版本不匹配会触发异常签名校验:
- 确认提交Spark任务时携带的
aws-java-sdk-bundle版本为1.11.375,和hadoop-aws版本严格对应 - 避免依赖冲突,排除任务中其他版本的aws-java-sdk相关依赖
5. Cluster模式配置传递验证
Cluster模式下driver运行在K8s Pod中,可在代码中打印s3a相关配置确认是否生效:
System.out.println(session.sparkContext().hadoopConfiguration().get("fs.s3a.access.key")); System.out.println(session.sparkContext().hadoopConfiguration().get("fs.s3a.aws.credentials.provider"));
也可以通过Spark UI的Environment页面确认所有配置是否正确传递到driver和executor。
内容的提问来源于stack exchange,提问作者Naresh G
相关产品推荐
相关产品推荐

