是否可以通过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后创建的实际块数。我不知道如何找出它的分布。
谢谢, 亚历
答案 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