c语言sscanf函数的用法是什么
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~