更新时间:2024-11-29 GMT+08:00

ALM-14028 待补齐的块数超过阈值

告警解释

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

用户可通过“运维 > 告警 > 阈值设置 > 待操作集群名称 > HDFS > 文件和块 > 需要复制副本的块总数(NameNode)”修改阈值。

平滑次数为1,待补齐的块数量小于或等于阈值时,告警恢复;平滑次数大于1,待补齐的块数量小于或等于阈值时,告警恢复。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

14028

重要(默认阈值为10000)

次要(默认阈值为1000)

业务质量告警

HDFS

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

NameService名

产生告警的NameService名称。

附加信息

触发条件

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

对系统的影响

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

可能原因

  • DataNode实例异常。
  • 数据被删除。
  • 写入文件的副本数大于DataNode的节点数。

处理步骤

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”查看是否存在告警“ALM-14003 丢失的HDFS块数量超过阈值”。

    • 是,执行2
    • 否,执行3

  2. 按照“ALM-14003 丢失的HDFS块数量超过阈值”的处理方法处理,然后等待5分钟,检查告警是否清除。

    • 是,结束。
    • 否,执行3

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

    • 安全模式:

      cd 客户端安装目录

      source bigdata_env

      kinit hdfs

    • 普通模式:

      su - omm

      cd 客户端安装目录

      source bigdata_env

  2. 执行命令hdfs fsck / >> fsck.log,获取当前集群的状况。
  3. 使用命令统计当前待复制块数量M:

    cat fsck.log | grep "Under-replicated"

  4. 使用命令统计“/tmp/hadoop-yarn/staging/”目录下的待复制块数量N:

    cat fsck.log | grep "Under replicated" | grep "/tmp/hadoop-yarn/staging/" | wc -l

    “/tmp/hadoop-yarn/staging/”目录为默认值,如果客户有修改,可以通过mapred-site.xml文件配置项“yarn.app.mapreduce.am.staging-dir”获取此路径。

  5. 比对N是否占了M的大多数(N/M>50%)。

    • 是,执行8
    • 否,执行9

  6. 执行命令来重新配置目录的文件副本数(文件副本数选择DataNode节点数或者默认文件副本数):

    hdfs dfs -setrep -w 文件副本数 /tmp/hadoop-yarn/staging/

    默认文件副本数通过如下方式获取:

    登录Manager页面,选择“集群 > 服务 > HDFS > 配置 > 全部配置”,搜索dfs.replication参数,该参数的值即是默认文件副本数。

    然后等待5分钟,检查告警是否清除。

    • 是,结束。
    • 否,执行9

收集故障信息

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

告警清除

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

参考信息

不涉及。