【发布时间】:2016-11-02 11:40:07
【问题描述】:
第一个问题: 我有一个带有 hadoop 的 2 节点虚拟集群。 我有一个运行火花工作的罐子。 此 jar 接受 cli 参数:commands.txt 文件的路径,该文件告诉 jar 要运行哪些命令。
我使用 spark-submit 运行作业,我注意到我的从节点没有运行,因为它找不到主节点本地的 commands.txt 文件。
这是我用来运行它的命令:
./spark-1.6.1-bin-hadoop2.6/bin/spark-submit --class
univ.bigdata.course.MainRunner --master yarn\
--deploy-mode cluster --executor-memory 1g \
--num-executors 4 \
final-project-1.0-SNAPSHOT.jar commands commands.txt
我是否需要将 commands.txt 上传到 hdfs 并提供 hdfs 路径,如下所示? :
hdfs://master:9000/user/vagrant/commands.txt
第二个问题: 如何在 cwd 中写入驱动程序机器上的文件? 我使用普通的 scala 文件编写器将输出写入 query_out.txt,并且在使用 spark 提交时效果很好
-master local[]
但是,在运行时
-master yarn
我找不到文件,没有抛出异常,但我只是找不到文件。它不存在,就好像它从未被写过一样。有没有办法将结果写入本地驱动程序机器上的文件?或者我应该只将结果写入 HDFS 吗?
谢谢。
【问题讨论】:
标签: scala hadoop apache-spark hdfs