如何判断Spark用于读取S3文件的AWS凭据?

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

我正在运行以前运行良好的Oozie工作。现在,访问S3文件时出现权限被拒绝错误。我只是想弄清楚它正在使用哪些凭据以及在哪里修复它们。

据我所知,凭证似乎来自几个地方,并且不确定优先顺序(例如〜/ .aws /凭证,环境变量,hadoop配置,IAM角色等)。

有没有办法告诉哪个是使用的活动凭据?是否可以在火花记录中打印活动的AWS账户密钥ID?

apache-spark amazon-s3 oozie
2个回答
0
投票
  1. 出于安全原因,AWS登录详细信息并未真正记录。
  2. Spark提交将从您的桌面获取AWS_ env变量并设置fs.s3a值,覆盖其中的任何值。

在s3a连接器中,顺序是

  1. URI中的秘密(不好,避免,从最近的版本中删除)
  2. fs.s3a属性
  3. env vars
  4. 提供给EC2 VM的IAM凭证

你可以configure the list of authentication providers更改订单,删除它们等。


0
投票

因为您运行Cloudera集群,所以您可能已阅读此文档Make a modified copy of the configuration files

最好将以下内容添加到元素中的core-site.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>
© www.soinside.com 2019 - 2024. All rights reserved.