Hadoop HDFS - 缺少副本和未复制块之间的区别

时间:2016-10-13 09:52:12

标签: hadoop hdfs fsck

我知道,由于复制因子集的数据节点数较少,因此发生了重复不足的块和错误复制的块。

但他们之间有什么区别?

在可用数据节点为1的情况下将复制因子重新设置为1时,已清除未复制块和丢失副本错误。通过执行命令 hdfs fsck / 来确保这一点 FSCK report

1 个答案:

答案 0 :(得分:11)

来自" Hadoop:The Definitive Guide"汤姆怀特:

  

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

     

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

     

错误复制的块   这些块不满足块副本放置策略(请参阅副本   放置)。例如,对于多机群集中的复制级别为3,如果全部   一个块的三个副本位于同一个机架上,然后该块被错误复制,因为   复制品应分布在至少两个机架上以提供弹性。 HDFS会   自动重新复制错误复制的块,以便它们满足机架放置   政策。

     

损坏的阻止   这些是副本都是腐败的块。至少有一个非破坏的块   复制品未被报告为腐败; namenode将复制非破坏副本   直到满足目标复制。

     

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

希望这能回答你的问题。