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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/kwu_ganymede/article/details/49094881

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


磁盘占用监控

检查为 /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 的配置


展开阅读全文

没有更多推荐了,返回首页