我尝试从笔记本电脑启动bin/spark-shell
和bin/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)后出现此问题
答案 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复制到同一位置以解决此问题。