更新时间:2023-03-17 GMT+08:00

ALM-14003 丢失的HDFS块数量超过阈值

告警解释

系统每30秒周期性检测丢失的块数量,并把丢失的块数量和阈值相比较。丢失的块数量指标默认提供一个阈值范围。当检测到丢失的HDFS块数量超出阈值范围时产生该告警。

用户可通过“运维 > 告警 > 阈值设置 > 待操作集群的名称 > HDFS”修改阈值。

平滑次数为1,丢失的HDFS块数量小于或等于阈值时,告警恢复;平滑次数大于1,丢失的HDFS块数量小于或等于阈值的90%时,告警恢复。

告警属性

告警ID

告警级别

是否自动清除

14003

重要

告警参数

参数名称

参数含义

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

NameService名

产生告警的NameService名称。

Trigger condition

系统当前指标取值满足自定义的告警设置条件。

对系统的影响

HDFS存储数据丢失,HDFS可能会进入安全模式,无法提供写服务。丢失的块数据无法恢复。

可能原因

  • DataNode实例异常。
  • 数据被删除。

处理步骤

检查DataNode实例。

  1. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 实例”。
  2. 查看所有DataNode实例的状态是否为“良好”。

    • 是,执行11
    • 否,执行3

  3. 重启DataNode实例,查看能否成功启动。

    • 是,执行4
    • 否,执行5

  4. 选择“运维 > 告警 > 告警”,查看该告警是否恢复。

    • 是,处理完毕。
    • 否,执行5

删除被破坏的文件。

  1. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > NameNode(主)”,在HDFS的WebUI页面,查看列出的丢失块信息。

    • 如果有丢块,WebUI上会有一行红字显示。
    • admin用户默认不具备其他组件的管理权限,如果访问组件原生界面时出现因权限不足而打不开页面或内容显示不全时,可手动创建具备对应组件管理权限的用户进行登录。

  2. 用户确认丢失块所在的文件是否有用。

    MapReduce任务运行过程中在“/mr-history”“/tmp/hadoop-yarn”“/tmp/logs”这三个目录中生成的文件不属于有用文件。

    • 是,执行7
    • 否,执行8

  3. 用户确认丢失块所在的文件是否已备份。

    • 是,执行8
    • 否,执行11

  4. root用户登录HDFS客户端,用户密码为安装前用户自定义,请咨询系统管理员。执行如下命令:

    • 安全模式:

      cd 客户端安装目录

      source bigdata_env

      kinit hdfs

    • 普通模式:

      su - omm

      cd 客户端安装目录

      source bigdata_env

  5. 在节点客户端执行hdfs fsck / -delete,删除丢失文件。如果丢失块所在的文件为有用文件,需要再次写入文件,恢复数据。

    删除文件为高危操作,在执行操作前请务必确认对应文件是否不再需要。

  6. 选择“运维 > 告警 > 告警”,查看该告警是否恢复。

    • 是,处理完毕。
    • 否,执行11

收集故障信息。

  1. 在FusionInsight Manager首页,单击“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的“HDFS”。
  3. 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  4. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

无。