hadoop集羣運行過程中,節點的塊狀態或者上下線節點時集羣都會受影響。
如何查看當前的hdfs的塊的狀態
hadoop1.x時候的命令,hadoop2.x也可使用:
hadoop fsck /
在hadoop2.0之後,可以使用新命令:
hdfs fsck /
[root@node01 ~]# su hdfs -c "hadoop fsck /"
WARNING: Use of this script to execute fsck is deprecated.
WARNING: Attempting to execute replacement "hdfs fsck" instead.
Connecting to namenode via http://node01:9870/fsck?ugi=hdfs&path=%2F
FSCK started by hdfs (auth:SIMPLE) from /192.168.1.81 for path / at Wed Apr 29 09:19:27 CST 2020
Status: HEALTHY
Number of data-nodes: 3
Number of racks: 1
Total dirs: 1884
Total symlinks: 0
Replicated Blocks:
Total size: 387368629 B
Total files: 85
Total blocks (validated): 85 (avg. block size 4557277 B)
Minimally replicated blocks: 85 (100.0 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 3
Average block replication: 3.0
Missing blocks: 0
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Blocks queued for replication: 0
Erasure Coded Block Groups:
Total size: 0 B
Total files: 0
Total block groups (validated): 0
Minimally erasure-coded block groups: 0
Over-erasure-coded block groups: 0
Under-erasure-coded block groups: 0
Unsatisfactory placement block groups: 0
Average block group size: 0.0
Missing block groups: 0
Corrupt block groups: 0
Missing internal blocks: 0
Blocks queued for replication: 0
FSCK ended at Wed Apr 29 09:19:28 CST 2020 in 542 milliseconds
The filesystem under path '/' is HEALTHY
參數說明:
-
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時,則集羣塊的複製塊完全了。
- 檢測缺失塊
[root@node01 ~]# su hdfs -c "hdfs fsck -list-corruptfileblocks"
Connecting to namenode via http://node01:9870/fsck?ugi=hdfs&listcorruptfileblocks=1&path=%2F
The filesystem under path '/' has 0 CORRUPT files
[root@node01 ~]# su hdfs -c "hdfs fsck / | egrep -v '^\.+$' | grep -v eplica"
Connecting to namenode via http://node01:9870/fsck?ugi=hdfs&path=%2F
FSCK started by hdfs (auth:SIMPLE) from /192.168.1.81 for path / at Wed Apr 29 09:27:20 CST 2020
Status: HEALTHY
Number of data-nodes: 3
Number of racks: 1
Total dirs: 1890
Total symlinks: 0
Total size: 387368629 B
Total files: 85
Total blocks (validated): 85 (avg. block size 4557277 B)
Missing blocks: 0
Corrupt blocks: 0
Erasure Coded Block Groups:
Total size: 0 B
Total files: 0
Total block groups (validated): 0
Minimally erasure-coded block groups: 0
Over-erasure-coded block groups: 0
Under-erasure-coded block groups: 0
Unsatisfactory placement block groups: 0
Average block group size: 0.0
Missing block groups: 0
Corrupt block groups: 0
Missing internal blocks: 0
FSCK ended at Wed Apr 29 09:27:20 CST 2020 in 96 milliseconds
The filesystem under path '/' is HEALTHY