我被以下情况弄糊涂了:一个文件(大小<块大小,副本=2)存储在hdfs中,使用“hadoop fsck+filename”来计算块的数量,因为副本=2,那么“总块”应该是2。但是,“hadoop fsck”的结果是1,“hadoop fsck”的输出如下:总块数(已验证):1(平均块大小514399 b)怎么了?hadoop如何存储文件?
kuarbcqp1#
你的假设是错误的。hadoop统计没有复制的块的数量。您可以在使用hadoop文件系统时检查这一点。如果选择一个文件,可以看到如下输出:
Total number of blocks: 1 471365007463424017: IP1:Port IP2:Port IP3:Port
这是位于3台不同机器上的一个块(复制系数为3)。
1条答案
按热度按时间kuarbcqp1#
你的假设是错误的。hadoop统计没有复制的块的数量。您可以在使用hadoop文件系统时检查这一点。如果选择一个文件,可以看到如下输出:
这是位于3台不同机器上的一个块(复制系数为3)。