hdfs目录上/tmp/hive空间资源过大问题

时间:2024-11-15 21:37:10

HDFS上tmp/hive空间资源占用过大的原因,有啥清理机制呢

Hive的临时目录是用来存放不同阶段的map/reduce任务的执行计划和中间结果的,如果Hive任务成功完成的话,临时文件会被自动清理,如果Hive任务被取消或者中断,那么这个任务的临时文件就会被遗留下来。

可以手动删除这些旧文件,但不要删除任务还未完成的临时文件。也可以通过 cron job来定期删除无效的临时文件。

另外,也可以通过配置在每次启动Hive时自动清理,要注意如果配置了这个参数,重启Hive时会花比较长的时间清理临时文件。

在Cloudera manager -> Hive Service -> Configuration -> HiveServer2 Advanced Configuration Snippet (Safety Valve) for ; 中增加如下配置,并重启。

<property>

<name></name>

<value>true</value>

</property>

[hdfs@dsj-419-4t-02 ~]$ hadoop fs -du -h -s hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c

860.7 T 2.5 P hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c

[hdfs@dsj-419-4t-02 ~]$ hadoop fs -ls hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c

Found 5 items

drwx------ - lf_ia_serv supergroup 0 2017-12-06 17:38 hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c/_tmp_space.db

drwx------ - lf_ia_serv supergroup 0 2017-12-06 19:26 hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c/hive_2017-12-06_17-38-27_677_6012246427052471025-1

drwx------ - lf_ia_serv supergroup 0 2017-12-06 17:38 hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c/hive_2017-12-06_17-38-27_677_6012246427052471025-2

drwx------ - lf_ia_serv supergroup 0 2017-12-06 18:15 hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c/hive_2017-12-06_17-38-27_677_6012246427052471025-3

drwx------ - lf_ia_serv supergroup 0 2017-12-06 19:16 hdfs://beh/tmp/hive/lf_ia_serv/84badee0-2f5e-4601-a461-8acff632b85c/hive_2017-12-06_17-38-27_677_6012246427052471025-4

可以通过2017-12-06_17-38-27文件的时间戳在yarn applicaton页面去看一下是否还有这个时间段的query在运行,如果都已经完成了,就可以清理临时文件了。