有人能告诉我如何修复丢失的副本吗?
============================================================================
总大小: 3447348383 B
总目录数: 120
文件总数: 98
数据块总数(已验证):133 (平均块大小25919912 B)
最小复制数据块: 133 (100.0 %)
过度复制的数据块:0(0.0%)
复制不足的数据块: 21 (15.789474 %)
错误复制的数据块:0(0.0%)
默认复制因子:3
平均数据块复制: 2.3834586
损坏的数据块:0
缺少副本: 147 (46.37224 %)
数据节点数:3
机架数量:1个
============================================================================
根据不确定指南,
损坏或丢失的数据块是最值得关注的问题,因为这意味着数据已经丢失。默认情况下,fsck会留下块损坏或丢失的文件,但您可以告诉它对这些块执行以下操作之一:
·使用-move选项将受影响的文件移动到HDFS中的/lost+found目录。文件被分解成连续的块链,以帮助您进行任何抢救工作。
·使用-delete选项删除受影响的文件。文件被删除后将无法恢复。
这里我的问题是如何找出受影响的文件?我已经使用Hive获得了所需的输出,没有任何问题。它是否会影响查询处理的性能/速度。
致以敬意,
拉杰
发布于 2013-04-19 08:17:15
随着时间的推移,丢失的副本应该会自我修复。但是,如果您想要将它们移动到lost+found,您可以使用:
hadoop fsck / -move或使用以下命令删除它们:
hadoop fsck / -delete如果您只想标识具有复制不足的数据块的文件,请使用:
hadoop fsck / -files -blocks -locations这将为您提供大量详细信息,包括预期/实际块复制计数的列表。
https://stackoverflow.com/questions/16076102
复制相似问题