在hadoop中,有可能知道块中的文件大小及其在数据节点上的分布吗?
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条答案
按热度按时间4jb9z9bj1#
这个
%r
在stat命令中,显示查询文件的复制因子。如果该值为1,则表示属于此文件的块在整个集群中只有一个副本。这个hadoop fs -ls
输出还将列出的文件的此值显示为其数字列之一,因为复制因子是每个文件的fs属性。如果您想找到块所在的位置,那么您就是在寻找
hdfs fsck
(或hadoop fsck
如果使用已过期的版本)。例如,通过下面的命令,您可以看到任何文件的块ID列表及其相应的常驻位置集:hdfs fsck /user/frolo/input/rmat-10.0 -files -blocks -locations