正常的一天遇到了两次磁盘的报警,两个不同的挂载点的空间满了,记录一下处理的过程。
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}' | awk '{if($1=="2018") print $2}'
提示argument list too long,
换一种写法分批去删除ll | awk '{print $8,$9}' | awk '{if($1=="2018") print $2}' | xargs -n 1000 rm -rf
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。