ALM-14018 NameNode非堆内存使用率超过阈值
告警解释
系统每30秒周期性检测HDFS NameNode非堆内存使用率,并把实际的HDFS NameNode非堆内存使用率和阈值相比较。HDFS NameNode非堆内存使用率指标默认提供一个阈值范围。当HDFS NameNode非堆内存使用率超出阈值范围时,产生该告警。
用户可通过“运维 > 告警 > 阈值设置 > 待操作集群的名称 > HDFS”修改阈值。
当HDFS NameNode非堆内存使用率小于或等于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
14018 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
HDFS NameNode非堆内存使用率过高,会影响HDFS的数据读写性能。
可能原因
HDFS NameNode配置的非堆内存不足。
处理步骤
清除无用文件。
- 以root用户登录HDFS客户端。执行cd命令进入客户端安装目录,然后执行source bigdata_env。
如果集群采用安全版本,要进行安全认证。
执行kinit hdfs命令,按提示输入密码。向管理员获取密码。
- 执行hdfs dfs -rm -r 文件或目录路径命令,确认删除无用的文件。
- 检查本告警是否恢复。
- 是,处理完毕。
- 否,执行4。
查看NameNode JVM非堆内存使用情况和当前配置。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS”,弹出“HDFS 服务状态”页面。
- 在“基本信息”区域,单击“NameNode(主)”,显示HDFS WebUI页面。
admin用户默认不具备其他组件的管理权限,如果访问组件原生界面时出现因权限不足而打不开页面或内容显示不全时,可手动创建具备对应组件管理权限的用户进行登录。
- 在HDFS WebUI,单击“Overview”页签,查看Summary部分显示的HDFS中当前文件数量,目录数量和块数量信息。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 配置 > 全部配置”,在“搜索”中,输入“GC_OPTS”,确定当前“HDFS->NameNode”的“GC_OPTS”非堆内存参数。
对系统进行调整。
- 根据6中的文件数据量和7中NameNode配置的非堆参数,检查当前配置的非堆内存是否不合理。
HDFS的文件对象数量(filesystem objects=files+blocks)和NameNode配置的JVM参数的对应关系建议如下:
- 文件对象数量达到10,000,000,则JVM参数建议配置为:-Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M
- 文件对象数量达到20,000,000,则JVM参数建议配置为:-Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G
- 文件对象数量达到50,000,000,则JVM参数建议配置为:-Xms32G -Xmx32G -XX:NewSize=3G -XX:MaxNewSize=3G
- 文件对象数量达到100,000,000,则JVM参数建议配置为:-Xms64G -Xmx64G -XX:NewSize=6G -XX:MaxNewSize=6G
- 文件对象数量达到200,000,000,则JVM参数建议配置为:-Xms96G -Xmx96G -XX:NewSize=9G -XX:MaxNewSize=9G
- 文件对象数量达到300,000,000,则JVM参数建议配置为:-Xms164G -Xmx164G -XX:NewSize=12G -XX:MaxNewSize=12G
- 按照文件对象数量和非堆内存对应关系,对NameNode的“GC_OPTS”参数进行修改。
- 保存配置,选择“概览 > 更多 > 重启服务”。
- 检查本告警是否恢复。
- 是,处理完毕。
- 否,执行12。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。