背景
集群磁盘被打爆,导致集群不可用。排查原来是hives的中间数据导致的问题
0357127de0701cfd0d0478813511bd6.png
1、临时数据
1.1、计算引擎的临时数据(mr为例)
mr在shuffle阶段写数据到本地磁盘时的数据也是临时数据,由配置mapreduce.cluster.local.dir 决定,默认位置${hadoop.tmp.dir}/mapred/local,最终在任务完成后会删除临时数据,但是如果这个mr 失败了,临时数据就变成无人管的数据了;需要手动定时清理
1.2、hive的临时数据
hive 产生临时数据原因insert overwrite等sql到hive时,会产生该目录,用于临时存放执行结果,比如insert overwrite会将结果暂存到该目录下,待任务结束,将结果复制到hive表
如果任务失败临时数据就不会自动删除了
配置hive-site.xml
<property>
<name>hive.exec.stagingdir</name>
<value>/tmp/hive/${user}</value> # 默认临时文件位置,可以查看hive-site.xml.default.templeate
</property>
1.2.1、hive的临时文件需要配置自动删除脚本
TODO
- 编写脚本
- 建立定时任务
网友评论