apache spark,"未能创建任何本地目录"

Tra*_*isJ 5 python distributed-computing apache-spark

我试图在一个小型独立集群(1个主节点和8个从节点)上设置Apache-Spark.我已经安装了基于Hadoop 2.4构建的spark 1.1.0的"预构建"版本.我在节点之间设置了无密码ssh并导出了一些必要的环境变量.其中一个变量(可能最相关)是:

export SPARK_LOCAL_DIRS=/scratch/spark/
Run Code Online (Sandbox Code Playgroud)

我有一小段python代码,我知道它与Spark一起使用.我可以在本地运行 - 在我的桌面上,而不是群集上 - 使用:

$SPARK_HOME/bin/spark-submit ~/My_code.py
Run Code Online (Sandbox Code Playgroud)

我将代码复制到了集群.然后,我从头节点开始所有进程:

$SPARK_HOME/sbin/start-all
Run Code Online (Sandbox Code Playgroud)

并且每个从属列为作为进程xxxxx运行.

如果我然后尝试使用上面相同的命令运行我的代码:

$SPARK_HOME/bin/spark-submit ~/MY_code.py
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

14/10/27 14:19:02 ERROR util.Utils: Failed to create local root dir in /scratch/spark/.  Ignoring this directory.
14/10/27 14:19:02 ERROR storage.DiskBlockManager: Failed to create any local dir.
Run Code Online (Sandbox Code Playgroud)

我在/scratch/scratch/spark777 上设置了权限.非常感谢任何帮助.

Tra*_*isJ 4

问题是我没有意识到主节点也需要一个临时目录。在我的 8 个工作节点中,我都创建了本地 /scratch/spark 目录,但忽略了在主节点上执行此操作。添加目录解决了问题。