检查文件大小及其在HDFS中的分发

时间:2014-02-06 09:42:28

标签: hadoop hdfs

是否可以通过Hadoop中的DataNode知道块中的文件大小及其分布?

Currently I am using: 
frolo@A11:~/hadoop> $HADOOP_HOME/bin/hadoop dfs -stat "%b %o %r %n" /user/frolo/input/rmat-*
318339 67108864 1 rmat-10.0
392835957 67108864 1 rmat-20.0

这不显示将文件上传到HDFS后创建的实际块数。我不知道如何找出它的分布。

谢谢,    亚历

1 个答案:

答案 0 :(得分:1)

stat命令中的%r显示查询文件的复制因子。如果为1,则表示对于属于此文件的块,群集中只有一个副本。 hadoop fs -ls输出还将列出的文件的此值显示为其数字列之一,因为复制因子是每个文件的FS属性。

如果您希望找到块所在的位置,那么您正在寻找hdfs fsck(或hadoop fsck,如果使用过时版本)。例如,下面将让您查看任何文件的块ID列表及其各自的驻留位置:

hdfs fsck /user/frolo/input/rmat-10.0 -files -blocks -locations