pyspark JOB 失败并显示“设备上没有剩余空间”

Posted

技术标签:

【中文标题】pyspark JOB 失败并显示“设备上没有剩余空间”【英文标题】:pyspark JOB fails with "No space left on device" 【发布时间】:2017-04-21 08:42:18 【问题描述】:

我在 Master+3WorkerNodes 的独立集群上,运行作业(BIG)时,我面临“设备上没有剩余空间”的问题。

我尝试获得 Why does a job fail with "No space left on device", but df says otherwise? 的帮助并在 MASTER 的 spark-defaults.conf 中设置变量

spark.local.dir            SOME/DIR/WHERE/YOU/HAVE/SPACE

然后重新启动集群。但注意到,在更改之后,它仍然指向 /tmp(在 df -h 运行作业时查看内存使用情况)用于临时 shuffle 存储,而不是指向我在 defaults.conf 中设置的目录(我可以在webUI 的环境选项卡)。

为什么 /tmp 仍然指向,任何想法?我需要在任何地方设置任何东西吗??

还关注Spark:java.io.IOException: No space left on device 并得到:我需要在 spark-evn.sh 中设置以下属性

SPARK_JAVA_OPTS+=" -Dspark.local.dir=/mnt/spark,/mnt2/spark -Dhadoop.tmp.dir=/mnt/ephemeral-hdfs"

export SPARK_JAVA_OPTS

“/mnt/spark”和“/mnt/ephemeral-hdfs”路径是什么意思??我是否需要在 master 的 spark-env.sh 或每个 worker-Node 上设置它。

请帮忙。谢谢...

【问题讨论】:

【参考方案1】:

好的,找到解决方案,我认为设置“spark.local.dir”将被 saprk 默认值(即 /tmp 路径)覆盖。

但是在 master 和 worker 的“spark-env.sh”中分别设置以下 2 个变量是有效的。

export SPARK_WORKER_DIR=dir_you_have_enough_Space
export SPARK_LOCAL_DIRS=dir_you_have_enough_Space

希望有一天它会对某人有所帮助..:)

【讨论】:

感谢分享您的解决方案。

以上是关于pyspark JOB 失败并显示“设备上没有剩余空间”的主要内容,如果未能解决你的问题,请参考以下文章

XCode:SVN中的提交失败:设备上没有剩余空间

使用 Jenkins 和 Docker 构建时“设备上没有剩余空间”

Java“设备上没有剩余空间”但磁盘上有足够的空间?

AWS Lambda 设备上没有剩余空间错误

nodemon - 内部观察失败:ENOSPC:设备上没有剩余空间,观察'/home/user/Documents/github/sendMail-lib/3808.txt

错误(mingw32/bin/ld.exe 最终链接失败:设备上没有剩余空间)构建 C++ 项目