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

时间:2014-10-27 18:26:26

标签: python apache-spark distributed-computing

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

export SPARK_LOCAL_DIRS=/scratch/spark/

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

$SPARK_HOME/bin/spark-submit ~/My_code.py

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

$SPARK_HOME/sbin/start-all

每个从属服务器都列为进程xxxxx。

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

$SPARK_HOME/bin/spark-submit ~/MY_code.py

我收到以下错误:

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.

我在/scratch/scratch/spark设置了权限777.非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

问题是我没有意识到主节点也需要一个临时目录。在我的8个工作节点中,我创建了本地/ scratch / spark目录,但忽略了在主节点上这样做。添加目录修复了问题。