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 blocks\Mis-replicated blocks\Missing replicas 都為0,則集群健康,如果不為0,則缺失塊了
Corrupt blocks : 壞塊的數量,這個值不為0,則說明當前集群有不可恢復的塊,即數據有丟失了
當下架節點時Under-replicated blocks\Mis-replicated blocks\Missing replicas,這三個參數會顯示當前,需要補的塊的數量,集群會自動補全,當三個參數都為0時,則集群塊的復制塊完全了。