我知道,由于复制因子集的数据节点数较少,因此发生了重复不足的块和错误复制的块。
但他们之间有什么区别?
在可用数据节点为1的情况下将复制因子重新设置为1时,已清除未复制块和丢失副本错误。通过执行命令 hdfs fsck / 来确保这一点
答案 0 :(得分:11)
来自" Hadoop:The Definitive Guide"汤姆怀特:
过度复制的块 这些块超出了它们所属文件的目标复制。 通常,过度复制不是问题,HDFS会自动删除多余的 副本。
重复不足的块 这些块不符合它们所属文件的目标复制。 HDFS将自动创建未复制块的新副本,直到它们相遇为止 目标复制。您可以获取有关正在复制的块的信息(或 等待复制)使用hdfs dfsadmin -metasave。
错误复制的块 这些块不满足块副本放置策略(请参阅副本 放置)。例如,对于多机群集中的复制级别为3,如果全部 一个块的三个副本位于同一个机架上,然后该块被错误复制,因为 复制品应分布在至少两个机架上以提供弹性。 HDFS会 自动重新复制错误复制的块,以便它们满足机架放置 政策。
损坏的阻止 这些是副本都是腐败的块。至少有一个非破坏的块 复制品未被报告为腐败; namenode将复制非破坏副本 直到满足目标复制。
缺少副本 这些是群集中任何位置都没有副本的块。
希望这能回答你的问题。