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 失败并显示“设备上没有剩余空间”的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jenkins 和 Docker 构建时“设备上没有剩余空间”
nodemon - 内部观察失败:ENOSPC:设备上没有剩余空间,观察'/home/user/Documents/github/sendMail-lib/3808.txt