如何判断 Spark 正在使用哪些 AWS 凭证读取 S3 文件?
How to tell what AWS credentials Spark is using to read S3 files?
我是 运行 以前 运行 不错的 Oozie 工作。现在我在访问 S3 文件时遇到权限被拒绝的错误。我只是想弄清楚它使用了哪些凭据以及在哪里修复它们。
据我所知,凭据似乎来自多个位置,并且不确定优先顺序(例如 ~/.aws/credentials、环境变量、hadoop 配置、IAM 角色等)。
有没有办法判断哪个是正在使用的活动凭据?是否可以在 spark 日志记录中打印活动的 AWS 帐户密钥 ID?
因为你运行 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>
- 出于安全原因,AWS 登录详细信息并未真正记录下来。
- Spark submit 将从您的桌面获取 AWS_ 环境变量并设置 fs.s3a 值,覆盖其中的任何值。
在s3a连接器中,顺序是
- URI 中的秘密(坏的,避免的,从最近的版本中删除)
- fs.s3a 属性
- 环境变量
- 提供给 EC2 VM 的 IAM 凭据
您可以configure the list of authentication providers更改顺序、删除它们等
我是 运行 以前 运行 不错的 Oozie 工作。现在我在访问 S3 文件时遇到权限被拒绝的错误。我只是想弄清楚它使用了哪些凭据以及在哪里修复它们。
据我所知,凭据似乎来自多个位置,并且不确定优先顺序(例如 ~/.aws/credentials、环境变量、hadoop 配置、IAM 角色等)。
有没有办法判断哪个是正在使用的活动凭据?是否可以在 spark 日志记录中打印活动的 AWS 帐户密钥 ID?
因为你运行 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>
- 出于安全原因,AWS 登录详细信息并未真正记录下来。
- Spark submit 将从您的桌面获取 AWS_ 环境变量并设置 fs.s3a 值,覆盖其中的任何值。
在s3a连接器中,顺序是
- URI 中的秘密(坏的,避免的,从最近的版本中删除)
- fs.s3a 属性
- 环境变量
- 提供给 EC2 VM 的 IAM 凭据
您可以configure the list of authentication providers更改顺序、删除它们等