我们正在运行一个Hadoop集群,其复制因子为3,块大小为64MB。我们只是想知道计算/运行命令的最佳方法,以查看驻留在数据节点上的实际数据大小。
此外,我们尝试使用hdfs dfs -du -h
和hdfs dfs dfsreport -report
,但是我们注意到的是,如果我们的磁盘大小为12TB:
a)第一条命令将显示数据使用量接近500GB
b)第二条命令将显示11.5TB的数据使用量。
我们在这里缺少差异的原因是什么?任何帮助将是巨大的!
最佳答案
首先,我想用您提到的第二个命令来纠正您。它是:
hdfs dfsadmin -report
到了为什么结果不同的地步。现在,
du
命令仅显示dfs上使用的数据,而不显示非dfs上使用的数据。另一方面,第二个命令计算总空间(dfs + non-dfs),然后为您提供所用总数据的详细信息。它还携带着复制的数据量,即,如果数据消耗5 TB空间并且复制为3,则dfs-used将为15 TB。
希望能清除您的查询。
关于hadoop - Hadoop block 计数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52274089/