我每天都在不断地开展Oozie协调员工作。 协调器触发频率为1440(即24小时)的工作流作业。 工作流程是一个简单的数据管道,使用 Java操作提取一些外部数据,使用 Pig操作处理它们,然后 Sqoop 将处理后的数据输出到外部数据库。
过去两个月它运作良好。 但是,我最近注意到群集在磁盘空间上运行不足。 因此,我检查了HDFS,令我惊讶的是,我发现 / tmp 目录大小是 / user 目录的3倍。
当我深入 / tmp 目录时,我发现以前的一些工作流作业临时工作目录仍然位于 / tmp 目录中。我认为这些目录应该在作业完成后进行清理(无论作业的最终状态如何)。
我手动删除了一些大型目录,现在解决了磁盘空间问题。 但是,我想了解为什么不是所有的临时目录都被删除了,为什么会有任何想法?
以下是群集详细信息:
以下是 fs -du 结果:
bash-4.1$ hadoop fs -du -h /
2.5 K /hbase
217.0 G /tmp
46.5 G /user
Inside the /tmp :
bash-4.1$ hadoop fs -du -h /tmp
0 /tmp/.cloudera_health_monitoring_canary_files
4 /tmp/mapred
22.9 M /tmp/temp-100334970
4.6 M /tmp/temp-1014433124
1.8 M /tmp/temp-1050713307
243.7 K /tmp/temp-1166395306
188.6 M /tmp/temp-1243526890
11.6 M /tmp/temp-1246394296
182.2 K /tmp/temp-1376015266
7.2 M /tmp/temp-1426134619
18.4 G /tmp/temp-1490128243
527.2 M /tmp/temp-1582569445
1.6 G /tmp/temp-15985618
27.3 M /tmp/temp-16966016
1.7 M /tmp/temp-1920170181
3.6 M /tmp/temp-194155462
190.0 G /tmp/temp-2050991966
173.6 K /tmp/temp-31318147
2.5 M /tmp/temp-327605300