我对以下情况感到困惑: 一个文件(大小<块大小,副本= 2)存储在hdfs中,使用“hadoop fsck + fileName”来计算块的数量,因为副本= 2,那么“总块”应该是2.但是, “hadoop fsck”的结果是1,“hadoop fsck”的输出是这样的:
总块数(已验证):1(平均块大小514399 B)
怎么了? hadoop如何存储文件?
答案 0 :(得分:0)
你的假设是错误的。 Hadoop计算没有复制的块数。你可以在broose hadoop文件系统时检查这一点。如果选择文件,则可以看到如下输出:
Total number of blocks: 1
471365007463424017: IP1:Port IP2:Port IP3:Port
这是一个位于3台不同机器上的块(复制因子为3)。