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

ALM-14019 DataNode非堆内存使用率超过阈值

告警解释

系统每30秒周期性检测HDFS DataNode非堆内存使用率,并把实际的HDFS DataNode非堆内存使用率和阈值相比较。HDFS DataNode非堆内存使用率指标默认提供一个阈值范围。当HDFS DataNode非堆内存使用率超出阈值范围时,产生该告警。

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

当HDFS DataNode非堆内存使用率小于或等于阈值时,告警恢复。

告警属性

告警ID

告警级别

是否自动清除

14019

重要

告警参数

参数名称

参数含义

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

Trigger condition

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

对系统的影响

HDFS DataNode非堆内存使用率过高,会影响HDFS的数据读写性能。

可能原因

HDFS DataNode配置的非堆内存不足。

处理步骤

清除无用文件。

  1. root用户登录HDFS客户端。执行cd命令进入客户端安装目录,然后执行source bigdata_env

    如果集群采用安全版本,要进行安全认证。

    执行kinit hdfs命令,按提示输入密码。向管理员获取密码。

  2. 执行hdfs dfs -rm -r 文件或目录路径命令,确认删除无用的文件。
  3. 检查本告警是否恢复。

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

查看DataNode JVM内存使用情况和当前配置。

  1. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS”。
  2. 在“基本信息”区域,单击“NameNode(主)”,显示HDFS WebUI页面。

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

  3. 在HDFS WebUI,单击“Datanodes”页签,查看所有告警DataNode节点的Block数量。
  4. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 配置 > 全部配置”,在“搜索”中,输入“GC_OPTS”,确定当前“HDFS->DataNode”的“GC_OPTS”内存参数。

对系统进行调整。

  1. 根据6中的Block数量和7中DataNode配置的内存参数,检查当前配置的内存是否不合理。

    • 是,执行9
    • 否,执行12

    单个DataNode实例上的平均Block数量和DataNode内存的对应关系参考值如下:

    • 单个DataNode实例平均Block数量达到2,000,000,DataNode的JVM参数参考值为:-Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M
    • 单个DataNode实例平均Block数量达到5,000,000,DataNode的JVM参数参考值为:-Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G

  2. 按照Block数量和内存对应关系,对DataNode的内存参数“GC_OPTS”进行修改。
  3. 保存配置,选择“概览 > 更多 > 重启服务”。
  4. 检查本告警是否恢复。

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

收集故障信息。

  1. 在FusionInsight Manager首页,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的如下服务。

    • ZooKeeper
    • HDFS

  3. 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  4. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

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

参考信息

无。