cdh集群中hdfs组件报错群集中有 226 个 丢失块 块。群集中共有 17,969 个块。百分比 丢失块: 1.26%。 临界阈值:任意
【排查流程】
1.查看活跃节点namenode界面,显示存在226块丢失,并依次在界面显示这里会显示损坏块的路径,记下来到后面会用到
2.进入集群后台查看(去对应的active namenode节点查看)
2.1.查看丢失文件块
hdfs fsck -list-corruptfileblocks
2.2.查看文件块情况
hdfs fsck / -blocks -files
查看块丢失
Status: CORRUPT
Number of data-nodes: 3
Number of racks: 1
Total dirs: 7269
Total symlinks: 0
Replicated Blocks:
Total size: 5014836208 B (Total open files size: 306 B)
Total files: 16717 (Files currently being written: 1)
Total blocks (validated): 16730 (avg. block size 299751 B) (Total open file blocks (not validated): 1)
********************************
UNDER MIN REPL'D BLOCKS: 226 (1.3508667 %)
dfs.namenode.replication.min: 1
CORRUPT FILES: 224
MISSING BLOCKS: 226
MISSING SIZE: 718268073 B
********************************
Minimally replicated blocks: 16504 (98.64913 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 35 (0.20920502 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 3
Average block replication: 1.0242081
Missing blocks: 226
Corrupt blocks: 0
Missing replicas: 35 (0.1961004 %)
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
翻译如下:
状态:腐败
数据节点数:3
机架数量:1
总目录:7269
符号链接总数:0
复制的块:
总大小:5014836208 B(打开的文件总大小:306 B)
文件总数:16717(当前正在写入的文件:1)
块总数(已验证):16730(平均块大小299751 B)(打开的文件块总数(未验证):1)
********************************
在最小重复区块下:226(1.3508667%)
dfs.namenode.replication.min:1
损坏的文件:224
缺失区块:226
缺少尺寸:718268073 B
********************************
最少复制区块:16504个(98.64913%)
超过复制的块:0(0.0%)
复制不足区块:35个(0.20920502%)
复制错误的块:0(0.0%)
默认复制因子:3
平均块复制:1.0242081
缺失区块:226
损坏的块:0
丢失的副本:35个(0.1961004%)
排队等待复制的块:0
擦除编码块组:
总大小:0 B
文件总数:0
块组总数(已验证):0
最小擦除编码块组:0
过擦除编码的块组:0
擦除不足编码的块组:0
不满意的放置块组:0
平均块组大小:0.0
缺少块组:0
损坏的块组:0
缺少内部块:0
排队等待复制的块:0
【解决办法】
这些块本身已经损坏,虽然hdfs有修复损坏块副本机制,可以自主清理
文中的这种情况是在hdfs无法自主修复情况下进行的操作:
1.还是进入到hdfs目录中删除这些丢失块
2.这些坏块就是损坏的文件,自己可以在web ui界面上可以看到,文件路径就是前面记下来的
命令执行
这里删除的是hdfs目录里的文件,并非是linux系统文件
hdfs dfs -rm /要删除文件
如果命令失败显示权限问题,无法删除
请使用这个命令
sudo -u hdfs hdfs dfs -rm /要删除文件
如果误删文件,可以去回收站自行恢复文件