hdfsfsck(hdfsfsck找不到文件)

本篇文章给大家谈谈hdfsfsck,以及hdfsfsck找不到文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

【2019-01-05】hdfs du统计与hdfs df统计不一致

某hadoop集群,通过du命令统计文件总大小为50T;但是hdfs df和hdfs 原生界面统计大小为190T。需解释原因。

du命令是按文件统计,从hdfs元数据中获取文件并累加文件大小统计;

df统计是整个磁盘上block所占用的大小,包含了所有的副本。

使用hdfs fsck / 统计集群的平均副本数量,副本数量为2。既然副本数量为2,整体空间应该为45T*2=90T;和预期相差很远。

统计单个dn,blk*开头的数据文件(包含blk和校验文件meta)。无论是数量还是大小都和原生界面一致。 不存雹升在块未删除和块待上报的现象。

发现客户确实做了hdfs快照,快照空间约为37T左右。37*2=74T,基本可以得出结论,这部分空间是快照使用了。

客户使用了hdfs快照,并且快照咐肆渗不在du范围内。导致衡脊du命令统计大小和原生界面存在差异。

[img]

hdfs的fsck参数

2.创建完成伏备之后,放到hdfs上面

3.使用hdfs fsck /前厅州129M命令

使用hdfs --help 找到对慧蔽应的fsck命令,解释说fsck是运行一个分布式文件系统的检查工具。

fsck的功能是很强大的,可以显示一个存储在hdfs上面的文件的很多详细的存储信息。例如文件大小,文件被分为几个block了,文件的副本数,当前hdfs的机架数,副本丢失的情况等。

fsck使用详解

找到相关块所属的文件

status:代表这次hdfs上block检测的结果

Total size: 代表/目录下文件总大小

Total dirs:代表检败贺困测的目录下总共有多少个目录

Total files:代表检测的目录下总共有多少文件

Total symlinks:代表检测的目录下有多少个符号连接

Total blocks(validated):代表检测的目录下有多少个block块是有效的

Minimally replicated blocks:代表拷贝的最小block块数

Over-replicated blocks:指拍扒的是副本数大于指定副本数的block数量

Under-replicated blocks:指的是副本数小于指定副本数的block数量

Mis-replicated blocks:指丢失的block块数量

Default replication factor: 3 指默认的副本数是3份(自身一份,需要拷贝两份)

Missing replicas:丢失的副本数

Number of data-nodes:有多少个节点

Number of racks:有多少个机架

Corrupt blocks : 坏块儿数

解决 针对无副本和察念坏块,解决办法

通过

hadoop fsck -move

hadoop fsck -delete 删除受影响的文件

Hadoop启动后一直处于SafeMode

问题:HDFS启动后一直处于安全状态

解决过程:

1.查看hadoop namenode的启动日志

发现是因为缺少blocks,block数渗友量没有达到所有块的0.9990的阈值(needs additional 4 blocks to reach the threshold 0.9990 of total blocks 553)

为什么会丢块呢?

2.查看hadoop namenode的启动日志

datanode的启动日志没有发现问题

下图为与datanode检查相关的参数设置

发现其中有4个blocks损坏

4.执行命令hdfs fsck / -delete,即丛巧槐将损坏的blocks删除(注意: 这种方式会出现数据丢失,损坏的block会被删掉)

5.再次执行命令hdfs fsck /

发现损坏的4个blocks已经被删除,状态检查为HEALTHY

那么生产上应该怎么处理这种情况呢?

(宽告1)首先hdfs fsck -files -blocks -locations找到数据块的位置和丢失的数据信息

(2)hdfs debug recoverLease [-path path] [-retries num-retries] 用这个命令恢复上面路径丢失的数据块,最后一个参数是重试次数

断电导致HDFS 块损坏修复

断电 导致HDFS服务不正常或者显示块损坏

直接重启HDFS,直接模拟损坏效果

hdfs fsck /path

hdfs fsck /path -list-corruptfileblocks

-files 文件分块信息,

-blocks 在带-files参数后才显示block信息

-locations 在带-blocks参数后才显示block块所在datanode的具体IP位置,

-racks 在带-files参数后显示机架位置

错误情况

正常情况:

log文件丢一丢丢 没有关系

文件是业务数据 订单数据 丢了,需要报告重刷数据

如果是hbase 无需删除这个表的所有文件,只需重刷所有数据,put 有的就update 没有的就insert

关于hdfsfsck和hdfsfsck找不到文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表