ALM-14016 DataNode直接内存使用率超过阈值
告警解释
系统每30秒周期性检测HDFS服务直接内存使用状态,当检测到DataNode实例直接内存使用率超出阈值(最大内存的90%)时,产生该告警。
直接内存使用率小于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
14016 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
DataNode可用直接内存不足,可能会造成内存溢出导致服务崩溃。
可能原因
该节点DataNode实例直接内存使用率过大,或配置的直接内存不合理,导致使用率超过阈值。
处理步骤
检查直接内存使用率。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,单击告警“ALM-14016 DataNode直接内存使用率超过阈值”所在行的下拉菜单,在“定位信息”中查看告警上报的角色名并确定实例的IP地址。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 实例 > DataNode(对应上报告警实例IP地址)”,单击图表区域右上角的下拉菜单,选择“定制 > 资源”,勾选“DataNode内存使用详情”。查看直接内存使用情况。
- 查看DataNode使用的直接内存是否已达到DataNode设定的最大直接内存的90%(默认阈值)。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 配置 > 全部配置 > DataNode > 系统”。查看“GC_OPTS”参数中是否存在“-XX:MaxDirectMemorySize”。
- 调整“-XX:MaxDirectMemorySize”大小。
- 在“GC_OPTS”中查看 “-Xmx”配置的大小,并判断节点内存是否够用。
节点内存是否够用可根据实际环境进行判断,例如可使用以下方法:
以root用户登录告警上报的实例的IP地址,执行free -g命令,查看“free”列的“Mem”值即为节点可用内存,如下示例中节点可用内存为4G。total used free shared buff/cache available Mem: 112 48 4 10 58 46 ......
如果节点可用内存大于或等于“-Xmx”的值,则节点内存够用。如果节点可用内存小于“-Xmx”的值,则节点内存不够用。
- 是,修改“-XX:MaxDirectMemorySize”的配置值与“-Xmx”配置值相同。
- 否,适量调大“-XX:MaxDirectMemorySize”的大小,但取值不得超过节点可用内存。
- 保存配置,重启DataNode实例。
重启期间服务业务可能受损或中断,建议选择业务低峰期操作。
- 在“GC_OPTS”中查看 “-Xmx”配置的大小,并判断节点内存是否够用。
- 查看告警信息,是否存在告警“ALM-14008 DataNode堆内存使用率超过阈值”。
- 是,参考ALM-14008 DataNode堆内存使用率超过阈值进行处理。
- 否,执行7。
- 观察界面告警是否清除。
- 是,处理完毕。
- 否,执行8。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。