【问题标题】:Data access Spark EC2数据访问 Spark EC2
【发布时间】:2015-06-07 11:15:08
【问题描述】:

按照说明通过 ec2 脚本安装集群后,我无法正确启动我的 .jar,因为他们没有找到我放在主节点和从节点上 /root/persistent-hdfs/ 的数据文件. 我在另一篇文章中读到我需要在文件位置前加上 file:// 但它不会改变任何东西......我有这个错误:

线程“主”org.apache.hadoop.mapred.InvalidInputException 中的异常:输入路径不存在:file://root/persistent-hdfs/data/ds_1.csv

为了启动作业,我在主节点上使用了 ./bin/spark-submit,对吗?

提前感谢您的支持。

【问题讨论】:

  • 请发布您要提交作业的完整命令。同时发布您的工作代码。
  • 我使用了这个命令:spark_submit --class "MS1" MS1.jar

标签: scala amazon-ec2 apache-spark


【解决方案1】:

你需要做一些事情:

  1. 默认配置使用临时 hdfs,因此您需要将其关闭 $ /root/ephemeral-hdfs/bin/stop-all.sh 并打开持久化 $ /root/persistent-hdfs/bin/start-all.sh
  2. 为简单起见,将您的文件放入持久性 hdfs 根目录$ /root/persistent-hdfs/bin/hadoop fs -put /root/ds_1.csv /ds_1.csv。现在检查它是否真的存在$ /root/persistent-hdfs/bin/hadoop fs -ls
  3. 最后,在 /root/spark/conf/spark-defaults.conf/root/spark/conf/spark-env.sh 中编辑 Spark 的配置文件,并将所有说短暂的内容更改为持久。

假设您将 csv 放在持久 hdfs 的根目录中(正如我们在步骤 2 中所做的那样),您可以使用 val rawData = sc.textFile("/ds_1.csv") 在 spark 中访问它。

玩得开心!

【讨论】:

  • 非常感谢,我正在努力。我是在 master 和 slave 上执行此步骤,还是仅在 master 上执行此步骤?
  • 谢谢,脚本在 sbin 中,而不是在 bin 中。当我检查文件是否在 hdfs 中时,它回应我说除了hdfs/bin/hadoop fs -put /root/ds_1.csv /ds_1.csv 之外什么都没有,它说put:/ds_1.csv': File exists。运行作业时出现此错误Exception in thread "main" java.net.ConnectException: Call From ip-172-31-48-78.ec2.internal/172.31.48.78 to ec2-52-4-114-103.compute-1.amazonaws.com:9000 failed on connection exception: java.net.ConnectException: Connexion refusée; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
  • 您需要通过主从的ec2安全组打开主从上的9000端口并重复put命令。
  • 我做了两件事:首先我在 aws 安全组上打开了 UDP/TCP 端口 9000 其次我使用了这个功能:iptables -I INPUT -p tcp --dport 9000 --syn -j ACCEPTiptables -I INPUT -p udp --dport 9000 -j ACCEPT这两个东西都在主服务器和从服务器上,我有相同的错误。
  • 结果是一样的,我用hadoop fs -rm 删除了文件,然后放了de文件,错误仍然存​​在……我什至尝试授权aws ec2组上的所有流量,结果相同。 ...
【解决方案2】:

查看您的工作代码将提供更多详细信息。

到目前为止,工作人员似乎无法访问驱动程序本地文件系统上的文件。 您需要使用 hadoop fs -put 或 -cp 命令将文件上传到 HDFS。因此工作人员将能够使用 hdfs:// uri 访问该文件。

由于您在 EC2 上运行集群,我建议将文件放入 s3 存储桶并使用 s3://... 文件 uri。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    相关资源
    最近更新 更多