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

AWS Glue PySpark作业报安全令牌过期错误如何排查解决

问题根因

报错The security token included in the request is expired的核心原因是访问S3使用的AWS STS临时安全凭证超过有效期,新发起的S3读写请求被AWS拦截。
你处理的JSON总大小达246GB,Spark作业整体运行时长很容易超过临时凭证默认的有效期(通常1~12小时);如果作业配置里硬编码了启动时获取的固定STS令牌、没有配置凭证自动刷新逻辑,作业跑到后半段必然触发这个报错。

可落地解决方法

按运行Spark的环境选对应方案即可:

  • EMR托管集群场景
    • 优先升级EMR版本到5.24.0/6.1.0及以上,这类版本默认内置S3凭证自动刷新能力,低版本存在凭证不刷新的已知bug
    • 提交作业时追加以下Spark配置,禁用硬编码凭证、开启自动刷新,同时替换S3专用提交器减少作业运行耗时:
      # 配置凭证提供链,优先用实例角色自动获取刷新凭证
      spark.hadoop.fs.s3a.aws.credentials.provider=com.amazonaws.auth.InstanceProfileCredentialsProvider
      # 每30分钟主动刷新一次凭证,不要等过期再重试
      spark.hadoop.fs.s3a.sts.credentials.refresh.interval=30m
      # 替换Parquet提交器为S3专用版本,减少rename阶段的额外耗时
      spark.sql.parquet.output.committer.class=org.apache.spark.internal.io.cloud.BindingParquetOutputCommitter
      spark.hadoop.mapreduce.outputcommitter.factory.scheme.s3a=org.apache.hadoop.fs.s3a.commit.S3ACommitterFactory
      # 调大S3连接数,提升读写并行度
      spark.hadoop.fs.s3a.connection.maximum=200
      
    • 严禁在spark-defaults.conf或作业提交参数里写死固定的AccessKey、SecretKey、SessionToken,硬编码的临时凭证不会自动更新,到期必然报错。
  • 自建Spark集群/EC2/本地运行场景
    • 优先给运行Executor的节点绑定IAM实例角色,用实例角色凭证自动轮转,不要手动生成一次性STS令牌配置到作业里
    • 必须跨账号AssumeRole访问S3的场景,直接用S3A内置的STS角色自动刷新能力,不要自己在代码里生成固定令牌传进去,参考配置:
      spark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.auth.STSAssumeRoleCredentialsProvider
      spark.hadoop.fs.s3a.assumed.role.arn=arn:aws:iam::<你的账号ID>:role/<可访问目标S3的角色名>
      spark.hadoop.fs.s3a.assumed.role.session.duration=1h
      # 提前15分钟刷新凭证,避免临界点请求失败
      spark.hadoop.fs.s3a.sts.credentials.refresh.interval=45m
      
  • 作业性能优化,降低长时运行触发过期的概率
    • 读取246GB JSON时设置合理分区大小,避免单分区数据过大拖慢速度:spark.sql.files.maxPartitionBytes=134217728(单分区128MB)
    • 写入Parquet时提前按业务字段做分区裁剪,减少全量数据扫描和写入的耗时
    • 存储桶和计算集群部署在同一AWS区域,避免跨区域网络传输拖慢读写速度

避坑提示:如果是在Glue、Lambda这类有最大运行时长限制的服务上跑任务,先确认服务本身的超时上限,单批次处理的数据量要保证能在凭证有效期+服务超时阈值内跑完,超大任务提前拆分成多个小批次调度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 07:24:24