You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark独立集群使用AWS S3 Shuffle Service时块获取失败求助

Spark独立集群使用AWS S3 Shuffle Service时Shuffle块获取失败排查

从错误日志来看,配置了S3 Shuffle Service后,执行器仍在尝试读取本地/tmp目录下的Shuffle索引文件,说明S3 Shuffle插件未正常生效,以下是针对性排查步骤:


1. 确认依赖包全节点加载

AWS S3 Shuffle Service需要特定依赖支持,必须确保集群所有Master、Worker节点都包含兼容的jar包:

  • 核心依赖:spark-hadoop-cloud_3.3.0-*.jar(对应Spark 3.3.0版本)、aws-java-sdk-bundle_*.jar
  • 部署方式:
    • 将jar包放到所有节点的$SPARK_HOME/jars目录下
    • 或在spark-submit中通过--jars参数显式指定依赖路径,确保所有执行器能拉取到这些依赖

2. 补全Shuffle插件配置项

仅配置spark.shuffle.sort.io.plugin.class和spark.shuffle.storage.path不足以让插件正常工作,需补充以下关键配置:

# 基础配置(已添加)
spark.shuffle.sort.io.plugin.class=com.amazonaws.spark.shuffle.io.cloud.ChopperPlugin
spark.shuffle.storage.path=s3a://<bucket>/shuffle.tmp

# 补充配置
spark.hadoop.fs.s3a.access.key=<你的访问密钥>  # 或通过IAM角色赋予节点S3权限
spark.hadoop.fs.s3a.secret.key=<你的密钥密码>
spark.shuffle.io.preferDirectBufs=false  # 部分版本需关闭直接缓冲区以适配插件

注意:确认S3桶名、路径拼写正确,执行器节点需具备该路径的s3:GetObject/s3:PutObject/s3:ListBucket权限。

3. 验证插件初始化状态

查看执行器启动日志,搜索ChopperPlugin相关日志:

  • 若未找到插件初始化日志,说明依赖缺失或配置未生效
  • 若存在Failed to load shuffle IO plugin报错,直接定位到依赖版本不兼容或配置错误

4. 确保集群配置一致性

  • 所有Worker节点的spark-defaults.conf需包含相同的Shuffle插件配置,避免仅在spark-submit中指定导致配置未传递到执行器
  • 检查Worker节点的SPARK_CLASSPATH环境变量,确认已包含AWS相关依赖路径

5. 排查本地临时目录问题

  • 若插件部分生效,但本地临时文件被提前清理,也会触发该错误。检查spark.local.dir配置,以及系统级临时文件清理机制(如tmpwatch)是否会删除Spark临时文件
  • 可以临时修改spark.local.dir到非自动清理的目录,验证问题是否消失

完整spark-submit示例

spark-submit \
  --class com.your.job.ClassName \
  --master spark://<master-ip>:7077 \
  --jars /opt/spark/jars/spark-hadoop-cloud_3.3.0-1.0.jar,/opt/spark/jars/aws-java-sdk-bundle-1.12.367.jar \
  --conf spark.shuffle.sort.io.plugin.class=com.amazonaws.spark.shuffle.io.cloud.ChopperPlugin \
  --conf spark.shuffle.storage.path=s3a://<bucket>/shuffle.tmp \
  --conf spark.hadoop.fs.s3a.access.key=<AKIAXXX> \
  --conf spark.hadoop.fs.s3a.secret.key=<XXX> \
  --conf spark.shuffle.io.preferDirectBufs=false \
  your-job.jar

内容的提问来源于stack exchange,提问作者ffff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 09:35:27