【问题标题】:spark-ec2 --copy-aws-credentials not workingspark-ec2 --copy-aws-credentials 不工作
【发布时间】:2016-05-11 23:29:58
【问题描述】:

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

如何使用正确的 AWS 凭证启动集群?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 apache-spark


    【解决方案1】:

    我遇到了同样的问题。

    通过查看 spark-ec2 安装脚本 [1],我了解到密钥已复制到两个 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 网址 (s3n://YourAccesKey:YourSecretAccessKey@yourbucket/yourdata) 提供您的凭据

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

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 1970-01-01
      • 2018-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 1970-01-01
      • 2014-07-07
      相关资源
      最近更新 更多