Spark on YARN(EKS) 由于没有凭据而失败

问题描述 投票:0回答:1

我有一个 Spark 应用程序在带有 YARN 的 EKS 集群上运行
应用程序启动,我可以在 YARN UI 中看到它,但由于缺少凭据而失败(请参见下面的屏幕截图),defaultFS 是 S3 存储桶。
在配置中,我没有指定任何凭据提供程序,因为默认凭据提供程序链包括从环境变量中读取,实际上我的环境变量包含 YARN rm 和 nm 中的访问密钥:

    env | grep AWS
AWS_SECRET_ACCESS_KEY=<THE_KEY>
AWS_DEFAULT_REGION=us-east-1
AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=<THE_KEY_ID>
AWS_ROLE_ARN=arn:aws:iam::ROLE_NAME
AWS_STS_REGIONAL_ENDPOINTS=regional

凭证首先使用成功,确实我在 s3 存储桶中看到了

.inprogress
文件:
enter image description here
我在配置指定的目录中看到应用程序目录:

spark.yarn.stagingDir: s3a://the_bucket

但是在它失败后不久报告它无法访问 s3 存储桶,但从异常中我无法理解哪个部分需要这些凭据,我认为我缺少一些配置,但我无法从异常中获取线索。
有什么建议吗?

enter image description here

apache-spark hadoop-yarn
1个回答
0
投票

我通过配置将凭证“注入”到 Spark 中来修复它:

spark.hadoop.fs.s3a.access.key: KEY
spark.hadoop.fs.s3a.secret.key: SECRET
© www.soinside.com 2019 - 2024. All rights reserved.