Hadoop HDFS中的/tmp目录是什么?

13

我有4个数据节点的集群,每个节点上的HDFS结构如下所示:

enter image description here

我遇到了磁盘空间问题,正如您所看到的,HDFS中的/tmp文件夹占用了更多的空间(217GB)。因此,我尝试调查来自/tmp文件夹的数据。我发现以下临时文件。我访问了这些临时文件夹,每个文件夹都包含10gb到20 gb大小的某些部分文件。我想清空这个/tmp目录。请问是否有人能告诉我删除这些tmp文件夹或部分文件的后果。这会影响我的集群吗?

enter image description here

1个回答

18

HDFS /tmp目录主要用于在mapreduce操作期间存储临时数据。Mapreduce产物、中间数据等将保存在此目录下。这些文件会在mapreduce作业执行完成后自动清除。如果您删除这些临时文件,可能会影响当前正在运行的mapreduce作业。

临时文件是由pig创建的。临时文件的删除发生在结尾处。如果脚本执行失败或被终止,pig不会处理临时文件的删除。然后你需要处理这种情况。最好在脚本本身中处理这个临时文件的清理活动。

以下文章可以让您更好地了解:

http://www.lopakalogic.com/articles/hadoop-articles/pig-keeps-temp-files/


这些/tmp目录文件无法自动删除。你能否分享设置文件自动删除选项的文件名?如果这些文件属于mapreduce操作,那么为什么/tmp的大小为217 GB。 - sandip divekar
你能发布以下命令的输出吗? hadoop fs -lsr /tmp/temp-2050991966/tmp-184805992 - SachinJose
`1) 2014-07-21 11:09 /tmp/temp-2050991966/tmp-184805992/_SUCCESS
  1. 2014-07-21 11:07 /tmp/temp-2050991966/tmp-184805992/_logs
  2. 2014-07-21 11:09 /tmp/temp-2050991966/tmp-184805992/_logs/history
  3. 2014-07-21 11:09 /tmp/temp-2050991966/tmp-184805992/_logs/history/job_201405161515_15124_1405921062606_ocuser_PigLatin%3AOC_Generate_Connect_Strength.pig
5)278029 2014-07-21 11:07 /tmp/temp-2050991966/tmp-184805992/_logs/history/job_201405161515_15124_conf.xml6)2014-07-21 11:08 /tmp/temp-2050991966/tmp-184805992/part-m-00000 7)2014-07-21 11:08 /tmp/temp-2050991966/tmp-184805992/part-m-00001`
- sandip divekar
以上命令显示了许多部分文件...我已经写了前6个文件。 - sandip divekar
1
如果脚本执行失败或被终止,Pig 不会处理临时文件的删除。我们能否通过运行相同的作业再次使用这些数据? - sandip divekar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接