6

我知道复制不足的块和复制错误的块都是由于相对于复制因子集的数据节点数量较少而发生的。

但是它们之间有什么区别呢?

在可用数据节点为 1 的情况下将复制因子重新设置为 1,复制不足的块和缺少副本错误都被清除。通过执行命令hdfs fsck /确保这一点 FSCK 报告

4

1 回答 1

14

摘自 Tom White 的“Hadoop:权威指南”:

过度复制的块 这些是超出其所属文件的目标复制的块。通常,过度复制是没有问题的,HDFS 会自动删除多余的副本。

复制不足的块 这些是不满足其所属文件的目标复制的块。HDFS 将自动创建复制不足的块的新副本,直到它们满足目标复制。您可以使用 hdfs dfsadmin -metasave 获取有关正在复制(或等待复制)的块的信息。

错误复制的块 这些是不满足块副本放置策略的块(请参阅副本放置)。例如,对于多机架集群中的三个复制级别,如果一个块的所有三个副本都在同一个机架上,则该块被错误复制,因为副本应该分布在至少两个机架上以实现弹性。HDFS 将自动重新复制错误复制的块,以便它们满足机架放置策略。

损坏的块 这些是其副本全部损坏的块。具有至少一个未损坏副本的块不会报告为损坏;namenode 将复制未损坏的副本,直到满足目标复制。

缺少副本 这些是集群中任何地方都没有副本的块。

希望这能回答你的问题。

于 2016-10-13T12:12:09.897 回答