amazon-web-services - spark-ec2 --copy-aws-credent

使用 Spark 1.5,我使用 spark-ec2 可执行文件和 --copy-aws-credentials 标志启动了一个 EC2 集群。登录到主节点后,$AWS_ACCESS_KEY_ID$AWS_SECRET_ACCESS_KEY 未设置。它们都设置在启动集群的机器上。尝试通过主节点上 spark-shell 中的 sc.textFile("s3n://...) 获取文件会引发错误,要求提供凭据。

如何使用适当的 AWS 凭证启动集群?

最佳答案

我遇到了这个完全相同的问题。

通过查看 spark-ec2 安装脚本 [1],我了解到 key 被复制到两个 hdfs 安装的 core-site.xml 文件中。你可以查看~/ephemeral-hdfs/conf/core-site.xml~/persistent-hdfs//conf/core-site.xml。 这允许您将文件放入您配置的两个文件系统中的任何一个,而无需提供 AWS 凭证。然后,您可以从 Spark 访问 hdfs 中的文件(即 hdfs:///yourdata)。

如果您想直接从 Spark 访问 S3,有多种选择。

  1. 将相同的配置放入 ~/spark/conf/core-site.xml~/mapreduce/conf/core-site.xml。每次停止和启动集群时都必须重做,这很烦人。
  2. export AWS_ACCESS_KEY_ID=...export AWS_SECRET_ACCESS_KEY=... 在您提交 Spark 作业之前(例如,在提交作业的同一脚本中)
  3. 使用您的 s3n url (s3n://YourAccesKey:YourSecretAccessKey@yourbucket/yourdata) 提供您的凭据

[1] https://github.com/amplab/spark-ec2

关于amazon-web-services - spark-ec2 --copy-aws-credentials 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33574008/

相关文章:

email - 更改 TFS 2015 电子邮件警报中的主题

python - 以 CSR/COO 格式为存储在 Pandas DataFrame 中的分类数据的

amazon-web-services - AWS CLI 工具 - 无法从 S3 递归下载

python - NumPy 或 SciPy 计算加权中位数

android - 呈现问题 :Binary XML file line #-1: No start

java - maven-shade-plugin 中的 list 不起作用

javascript - JS 闭包和函数参数

Python - sys.stderr 未保存到 .txt 或 .log

windows-services - Windows 服务的启动和停止超时是多少?

android - RecyclerView 不显示任何图像