【2019-01-05】hdfs du统计与hdfs df统计不一致

问题现象

某hadoop集群,通过du命令统计文件总大小为50T;但是hdfs df和hdfs 原生界面统计大小为190T。需解释原因。

分析过程

1.du和df统计的差异在哪?

du命令是按文件统计,从hdfs元数据中获取文件并累加文件大小统计;

df统计是整个磁盘上block所占用的大小,包含了所有的副本。

2.统计实际的副本数量

使用hdfs fsck / 统计集群的平均副本数量,副本数量为2。既然副本数量为2,整体空间应该为45T*2=90T;和预期相差很远。

3.排除有其他文件占用

统计单个dn,blk*开头的数据文件(包含blk和校验文件meta)。无论是数量还是大小都和原生界面一致。 不存在块未删除和块待上报的现象。

4.检查hdfs快照

发现客户确实做了hdfs快照,快照空间约为37T左右。37*2=74T,基本可以得出结论,这部分空间是快照使用了。

结论:

客户使用了hdfs快照,并且快照不在du范围内。导致du命令统计大小和原生界面存在差异。

你可能感兴趣的:(【2019-01-05】hdfs du统计与hdfs df统计不一致)