更新时间:2024-04-18 GMT+08:00

ALM-14026 DataNode块数超过阈值

告警解释

系统每30秒周期性检测每个DataNode上的块数,当检测到当前的DataNode节点上块数超过阈值时产生该告警。

如果平滑次数为1,DataNode节点上的块数小于或等于阈值时,告警恢复;如果平滑次数大于1,DataNode节点上的块数小于或等于阈值的90%时,告警恢复。

告警属性

告警ID

告警级别

是否自动清除

14026

次要

告警参数

参数名称

参数含义

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

Trigger condition

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

对系统的影响

上报DataNode块数超过阈值告警时,表示该DataNode节点上块数太多,继续写入可能会由于磁盘空间不足导致写入HDFS数据失败。

可能原因

  • 告警阈值配置不合理。
  • DataNode节点间数据倾斜。
  • HDFS集群配置的磁盘空间不足。

处理步骤

修改阈值配置

  1. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > HDFS > 配置 > 全部配置”,查找HDFS->DataNode下的GC_OPTS参数。
  2. 配置DataNode块数阈值:修改GC_OPTS参数中Xmx的值(Xmx内存值对应节点块数阈值为每GB对应500000块数,用户根据需要调整内存值),确认GC_PROFILE的值为custom,保存配置。
  3. 选择“集群 > 待操作集群的名称 > HDFS > 实例”勾选状态为“配置过期”的DataNode实例,选择“更多 > 重启实例”使GC_OPTS配置生效。
  4. 等待5分钟,检查该告警是否恢复。

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

查看是否有关联告警

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”中查看是否存在告警“ALM-14002 DataNode磁盘空间使用率超过阈值”。

    • 是,执行6
    • 否,执行8

  2. 参考“ALM-14002 DataNode磁盘空间使用率超过阈值”进行处理,查看对应告警是否清除。

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

  3. 等待5分钟,检查该告警是否恢复。

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

对DataNode进行扩容

  1. 对DataNode进行扩容。
  2. 在FusionInsight Manager首页,等待5分钟后,查看本告警是否清除。

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

收集故障信息

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

告警清除

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

参考信息

DataNode JVM参数配置规则

DataNode JVM参数“GC_OPTS”默认值为:

-Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=0x7FFFFFFFFFFFFFE -Dsun.rmi.dgc.server.gcInterval=0x7FFFFFFFFFFFFFE -XX:-OmitStackTraceInFastThrow -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M -Djdk.tls.ephemeralDHKeySize=2048

集群中每个DataNode实例平均保存的Blocks= HDFS Block * 3 ÷ DataNode节点数。

HDFS Block:可以登录FusionInsight Manager,选择“集群 > 服务 > HDFS”,单击“NameNode Web UI”后的“NameNode(xxx,主)”进入HDFS原生页面,在“Summary”区域进行查看,例如:

单个DataNode实例平均Block数量变化时请修改默认值中的“-Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M”。参考值如下表所示。

表1 DataNode JVM配置

单个DataNode实例平均Block数量

参考值

2,000,000

-Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M

5,000,000

-Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G

Xmx内存值对应DataNode节点块数阈值,每GB对应500000块数,用户可根据需要调整内存值。