【解决】Spark运行时产生的临时目录的问题

[Author]:  kwu


今天,在执行spark-sql时,查询数据量超过1.7亿行,数据量大小38G,出现系统盘占用突然变高的情况,监控如下:


【解决】Spark运行时产生的临时目录的问题_第1张图片

检查为 /tmp 目录下,spark生成的临时目录占用了大量的磁盘空间,生成的spark临时文件超过15G了。


解决方案为:

1、删除 /tmp/spark* 的文件

rm -rf  /tmp/spark* 


2、修改spark执行时临时目录的配置,在 conf 目录下的spark-defaults.conf的配置文件,增加如下一行:

spark.local.dir /diskb/sparktmp,/diskc/sparktmp,/diskd/sparktmp,/diske/sparktmp,/diskf/sparktmp,/diskg/sparktmp

说明:可配置多个目录,以 "," 分隔。


3、也配置spark-env.sh下增加

export SPARK_LOCAL_DIRS=spark.local.dir /diskb/sparktmp,/diskc/sparktmp,/diskd/sparktmp,/diske/sparktmp,/diskf/sparktmp,/diskg/sparktmp

如果spark-env.sh与spark-defaults.conf都配置,则SPARK_LOCAL_DIRS覆盖spark.local.dir 的配置



你可能感兴趣的:(【解决】Spark运行时产生的临时目录的问题)