Hadoop:FSCK结果显示缺少副本

时间:2013-04-18 06:36:11

标签: hadoop hive hdfs hiveql

有谁能让我知道如何修复丢失的副本?

=============================================== =============================

总大小: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合作以获得所需的输出而没有任何问题。它会影响查询处理的性能/速度。

此致

拉​​吉

1 个答案:

答案 0 :(得分:12)

缺少复制品应该随着时间的推移自我修复。但是,如果您想将它们移到lost + found,您可以使用:

hadoop fsck / -move

或者删除它们:

hadoop fsck / -delete

如果您只想识别包含不足复制块的文件,请使用:

hadoop fsck / -files -blocks -locations

这将为您提供大量详细信息,包括预期/实际块复制计数列表。