美文网首页
HDFS块丢失-服务常见故障-FusionInsight

HDFS块丢失-服务常见故障-FusionInsight

作者: ssttIsme | 来源:发表于2023-04-06 11:29 被阅读0次

现象描述

  • HDFS进入安全模式,HDFS服务不可用
  • HDFS服务页面块丢失项的值大于0
  • HDFS服务启动失败,角色实例启动成功

可能原因

  • 数据节点硬盘故障,或节点故障可能导致数据副本丢失
  • HDFS在如下情况进入安全模式
    1.当NameNode启动且等待DataNode上报副本
    2.NameNode所在磁盘空间不足。
    3.恢复NameNode数据后,元数据与业务数据无法匹配
  • HDFS对应的副本全部丢失

定位思路

1.检查FushionInsight Manager告警界面是否有节点,硬盘故障告警
2.检查NameNode的块丢失阈值"dfs.name.safemode.threshold-pct"是否配置过高

处理步骤

1.登录FushionInsight Manager管理界面,选择“运维>告警>告警”,检查是否存在HDFS告警、节点故障、硬盘故障等告警
2.安装客户端程序,以"hdfs"用户使用HDFS客户端工具执行fsck检查文件系统中文件是否完整。
命令实例:

hdfs fsck /

3.若fsck校验仅显示副本丢失,而不是文件丢失(看已有副本数是否大于0),则执行hdfs dfsadmin -safemode leave退出HDFS安全模式,即可修复。
4.若文件块丢失,检查是否执行恢复了NameNode数据操作。
-是,表示找不到元数据对应的业务数据块,执行hdfs dfsadmin -safemode leave退出HDFS安全模式,然后执行步骤5
-否,表示文件丢失,执行步骤5
5.若有文件丢失,检查丢失文件的文件路径,并检查文件是否为重要文件

  • MapReduce类文件是非常重要的,对非重要文件,退出安全模式后,可执行删除操作。
    命令实例:
hdfs fsck [path-to-file] -delete
  • 恢复NameNode数据可能导致元数据与业务数据无法匹配,需要执行删除操作
hdfs fsck / -delete

6.检查NameNode的块丢失阈值是否配置过高。
在FushionInsight Manager管理界面,选择“集群>待操作集群的名称>服务>HDFS>配置>全部配置”,选择“NameNode>高可用性”,设置"dfs.namenode.safemode.threshold-pct"值。
集群中只有三个节点时,建议将NameNode的块丢失阈值"dfs.namenode.safemode.threshold-pct"参数值配置为"0.66"
7.重启HDFS服务

相关文章

网友评论

      本文标题:HDFS块丢失-服务常见故障-FusionInsight

      本文链接:https://www.haomeiwen.com/subject/kafuddtx.html