hadoop集群运行过程中,上下节点是常有的事情,如果下架节点,hdfs存储的块肯定会受到影响。
如何查看当前的hdfs的块的状态
hadoop1.x时候的命令,hadoop2.x也可使用:
hadoop fsck /
在hadoop2.0之后,可以使用新命令:
hdfs fsck /
返回结果截图如下:
参数说明:
Total size : hdfs集群存储大小,不包括复本大小。如:75423236058649 B (字节)。(字节->KB->m->G->TB,75423236058649/1024/1024/1024/1024=68.59703358591014TB)
Total blocks (validated) : 总共的块数量,不包括复本。(5363690 (avg. block size 14061818 B) (Total open file blocks (not validated): 148),计算: 14061818 *5363690=75423232588420 集群的容量大小,不包括复本的)
Number of data-nodes : datanode的节点数量
Number of racks : 机架数量
Default replication factor : 默认的复制因子
Average block replication : 当前块的平均复制数,如果小 default replication factor,则有块丢失
Under-replicated blocks : 正在复制块数量,可采用 hadoop fsck -blocks 解决问题
Mis-replicated blocks : 正复制的缺少复制块的数量
Missing replicas : 缺少复制块的数量,通常情况下Under-replicated blocksMis-replicated blocksMissing replicas 都为0,则集群健康,如果不为0,则缺失块了
Corrupt blocks : 坏块的数量,这个值不为0,则说明当前集群有不可恢复的块,即数据有丢失了
当下架节点时Under-replicated blocksMis-replicated blocksMissing replicas,这三个参数会显示当前,需要补的块的数量,集群会自动补全,当三个参数都为0时,则集群块的复制块完全了。