Spark-shell与'纱线客户'尝试从错误的位置加载配置

时间:2015-07-14 15:51:58

标签: hadoop apache-spark yarn

我尝试从笔记本电脑启动bin/spark-shellbin/pyspark,在yarn-client模式下连接到Yarn群集,我收到同样的错误

WARN ScriptBasedMapping: Exception running
/etc/hadoop/conf.cloudera.yarn1/topology.py 10.0.240.71
java.io.IOException: Cannot run program "/etc/hadoop/conf.cloudera.yarn1/topology.py" 
(in directory "/Users/eugenezhulenev/projects/cloudera/spark"): error=2, 
No such file or directory

Spark试图在我的笔记本电脑上运行/etc/hadoop/conf.cloudera.yarn1/topology.py,但不会在Yarn的工作节点上运行。

从Spark 1.2.0更新到1.3.0(CDH 5.4.2)后出现此问题

2 个答案:

答案 0 :(得分:2)

以下步骤是对CDH 5.4.4

上此问题的临时解决方法
use DateTime;

my $date = DateTime->today;
$date->subtract( days => 1 );

print $date->mdy('/'), "\n";

然后将/etc/hadoop/conf.clouder.yarn1中的所有文件从一个工作节点复制到上面的(本地)目录。然后从cd ~ mkdir -p test-spark/ cd test-spark/

运行spark-shell

答案 1 :(得分:1)

该问题与Hadoop conf文件未在所有节点上复制为Spark conf文件的基础结构有关。某些节点可能缺少这些文件,如果您正在使用缺少这些文件的特定节点,则会遇到此问题。

当spark开始时,它会查找conf文件: 1.首先在HADOOP_CONF所在的同一位置 2.如果缺少1个以上的位置,请查看火花开始的位置

要解决此问题,请获取丢失的文件夹并查看其他节点,如果在其他节点上可用,请复制到您看到问题的节点。否则,您可以将hadoop conf文件夹作为yarn conf复制到同一位置以解决此问题。