我试图在一个小型独立集群(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.
我在777的/scratch
和/scratch/spark
上设置了权限。任何帮助都非常感谢。
问题是我没有意识到主节点也需要一个scratch目录。在我的8个工作节点中,每一个都创建了local/scratch/spark目录,但是忽略了在主节点上这样做。添加目录解决了这个问题。
相关问题 更多 >
编程相关推荐