Apache spark pyspark作业失败,返回“0”;设备上没有剩余空间”;

Apache spark pyspark作业失败,返回“0”;设备上没有剩余空间”;,apache-spark,hdfs,pyspark,Apache Spark,Hdfs,Pyspark,我在Master+3WorkerNodes的独立集群上,当运行作业(大)时,我面临“设备上没有剩余空间”的问题 我试图获得帮助,并在MASTER的spark-defaults.conf中设置变量 spark.local.dir SOME/DIR/WHERE/YOU/HAVE/SPACE 然后重新启动集群。但是注意到,在更改了这个参数之后,它仍然指向临时shuffle存储区的/tmp(在df-h运行作业时看到内存使用情况),而不是指向我在defaults.conf中设置的目

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

我试图获得帮助,并在MASTER的spark-defaults.conf中设置变量

spark.local.dir            SOME/DIR/WHERE/YOU/HAVE/SPACE
然后重新启动集群。但是注意到,在更改了这个参数之后,它仍然指向临时shuffle存储区的/tmp(在df-h运行作业时看到内存使用情况),而不是指向我在defaults.conf中设置的目录(我可以在webUI的环境选项卡中看到这个目录)

为什么/tmp仍然被指出,你知道吗?我需要在任何地方设置其他内容吗

同样,我需要在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/epermeral hdfs”路径表示什么??我是否需要在master的spark-env.sh或每个worker节点上设置它


请帮忙。谢谢…

好的,找到了解决方案,我想设置“spark.local.dir”将被saprk默认值I:e/tmp路径覆盖

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


希望有一天它能帮助别人。:)

谢谢分享您的解决方案。
export SPARK_WORKER_DIR=dir_you_have_enough_Space
export SPARK_LOCAL_DIRS=dir_you_have_enough_Space