失常的一天遇到了两次磁盘的报警,两个不同的挂载点的空间满了,记录一下解决的过程。
Spark长期目录问题
根目录下的空间du -h --max-depth=1 /
发现占用空间最大的目录是/tmpdu --max-depth=1 /tmp | sort -rn
去查看这个目录下的文件
发现是spark工作的长期目录占用的。
查看spark的conf下的配置,发现spark没有配置专们的长期文件目录,文件默认的会写到/tmp下,生成随机目录(mktemp)。
解决:
1.通过ps -ef | grep 'spark'
找到对应的过程id,再grep过程id找到最终的父过程id,能够找到过程的启动者,确认数据可删除一部分删除就好了。
2.在spark的目录下新建log的目录,配置临时文件到这个目录保障根目录失常。
3./tmp的主动清理工夫距离缩短绝对也会好点。
调度零碎job log
同一台机器上跑了调度零碎的client,client上会启hive client或者beeline,在工作的通用启动脚本里会生成每个工作的log文件,第二次报警看到的最大空间占用目录是job log目录。
发现最早的log文件曾经是18年的了,决定果决删除这部分数据,rm -rf ll | awk '{print $8,$9}' | grep '2018' | awk '{print $2}'
提醒argument list too long,
换一种写法分批去删除ll | awk '{print $8,$9}' | grep '2018' | awk '{print $2}' | xargs -n 1000 rm -rf