我正在运行一个以前运行良好的Oozie作业。现在我在访问 S3 文件时出现权限被拒绝错误。我只是想弄清楚它正在使用哪些凭据以及在哪里修复它们。
据我所知,凭据似乎来自多个位置,并且不确定优先级顺序(例如~/.aws/credentials,环境变量,hadoop配置,IAM角色等(。
有没有办法判断正在使用哪个活动凭据?是否可以在 Spark 日志记录中打印活动的 AWS 账户密钥 ID?
- 出于安全原因,AWS 登录详细信息不会真正被记录下来。
- Spark submit 将从您的桌面上获取AWS_ env vars 并设置 fs.s3a 值,覆盖其中的任何值。
在 s3a 连接器中,顺序为
- URI 中的机密(错误、避免、从最新版本中删除(
- FS.S3a 属性
- 环境变量
- 提供给 EC2 虚拟机的 IAM 凭证
您可以配置身份验证提供程序列表以更改顺序、删除它们等。
因为您运行的是 Cloudera 集群,所以您可能已经阅读了本文档 制作配置文件的修改副本
最好将以下内容添加到元素中的核心站点.xml文件中:
<property>
<name>fs.s3a.access.key</name>
<value>Amazon S3 Access Key</value>
</property>
<property>
<name>fs.s3a.secret.key</name>
<value>Amazon S3 Secret Key</value>
</property>