hdfs数据块损坏及修复

网友投稿 1125 2022-11-22

hdfs数据块损坏及修复

hadoop之hdfs数据块损坏及修复

损坏的原因

HDFS在机器断电或意外崩溃的情况下,有可能出现正在写的数据丢失的问题。再次重启HDFS后,发现hdfs无法启动,查看日志后发现,一直处于安全模式。

1、场景一:断电导致HDFS服务不正常或显示块损坏

模拟损坏效果:

直接的datanode上删除文件一个block的三副本

node-1:rm -rf 数据块 元数据 node-2:rm -rf 数据块 元数据 node-3:rm -rf 数据块 元数据

检查hdfs文件系统健康:hdfs fsck /path

输出损坏的块及其所属的文件列表:hdfs fsck /path -list-corruptfileblocks

定位文件的哪些块分布在哪些机器:

-file 文件分块信息 -blocks 在带 -files 参数后才显示block信息 -locations 在带-blocks参数后才显示block块所在datanode的具体ip位置 -racks 在带-files参数后显示机架位置

hdfs fsck / -delete 直接删除损坏的文件

-files -locations -blocks -racks 号文件显示 坏文件不显示

hdfs debug recoverLease -path 文件位置 -retries 重试次数 #修复指定路径的hdfs文件,尝试多次

自动修复

hdfs自动修复损坏的数据块,当数据块损坏后,DN节点执行directoryscan(datanode进行内存和磁盘那数据集块校验)操作之前,都不会发现损坏。

dfs.datanode.directoryscan.interval:21600

在DN向NN进行blockreport前,都不会恢复数据块

dfs.blockreport.intervalMesc:21600

最终当NN收到blockreport才会进行恢复操作

生产中倾向于使用手动修复的方法去修复损坏的数据块。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:TI DSP为啥连接不上?JTAG接口无法连接的问题
下一篇:rs485通讯接口定义图详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~