我们知道,HDFS中的文件是由数据块Block组成的,并且为了提高容错性,每个数据块Block都会在不同数据节点DataNode上有若干副本Replica.那么,什么是Block?什么又是Replica? 首先,我们看下Block的定义,如下: /************************************************** * A Block is a Hadoop FS primitive, identified by a * long. * *************…
无论是第一次,还是之后的每次数据块汇报,名字名字节点都会对汇报上来的数据块进行检测,看看其是否为损坏的数据块.那么,损坏数据块是如何被检测的呢?本文,我们将研究下损坏数据块检测的checkReplicaCorrupt()方法. 关于数据块及其副本的状态,请阅读<HDFS源码分析之数据块及副本状态BlockUCState.ReplicaState>一文. checkReplicaCorrupt()方法专门用于损坏数据块检测,代码如下: /** * The next two methods tes…
HDFS重启集群导致数据损坏,使用fsck命令修复过程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们先看一组输出 [root@flume112 ~]# hdfs fsck /user/kuaikan/report_new//// Connecting to namenode via http://calculation111.aggrx:50070 FSCK started by root (auth:SIMPLE) from //// at Sat May :: CS…