Hadoop 里的 fsck 命令,可检查 HDFS 里的档案 (file),是否有 corrupt (毁损) 或资料遗失,并产生 HDFS 档案系统的整体健康报告。报告内容,包括:
Total blocks (区块的总个数)、Average block replication (平均副本个数)、Corrupt blocks、遗失的区块个数、...等等。
-------------------------
命令如下:
旧版:
hadoop fsck /
新版:
hdfs fsck /
hdfs fsck --help
hdfs fsck / -files -blocks -locations
(可用来找出哪些是有遗失区块的档案,以及哪些区块是放在哪台资料节点上)
图 1
-------------------------
若健康则显示:
Status: HEALTHY
若有毁损则显示:
Status: CORRUPT
-------------------------
Hadoop 的 fsck 不像 Linux 的 fsck,前者预设是不具有破坏性的,不会去修正检查到的错误,因此可每天执行以做检查。fsck 是只跟 metadata 有关的操作,其需要的资讯,都可从 NameNode 取得,因此不必和 cluster 所有的 NameNode 沟通。但其 RPC (远端程序唿叫) 次数可能较高,因此建议在离峰时间来进行检查。
CCAH 证照 (CCA-500) 会考到这个命令的用途,但不会考细部的功能及参数,只要知道 fsck 大概的功能即可。
下面关于Hadoop的文章您也可能喜欢,不妨看看:
Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程
CentOS安装和配置Hadoop2.2.0