ALM-14014 NameNode进程垃圾回收(GC)时间超过阈值
告警解释
系统每60秒周期性检测NameNode进程的垃圾回收(GC)占用时间,当检测到NameNode进程的垃圾回收(GC)时间超出阈值(默认12秒)时,产生该告警。
垃圾回收(GC)时间小于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
14014 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
NameNode进程的垃圾回收时间过长,可能影响该NameNode进程正常提供服务,用户无法读写文件。
可能原因
该节点NameNode实例堆内存使用率过大,或配置的堆内存不合理,导致进程GC频繁。
处理步骤
检查GC时间。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,单击告警“ALM-14014 NameNode进程垃圾回收(GC)时间超过阈值”所在行的下拉菜单,在“定位信息”中查看告警上报的角色名并确定实例的IP地址。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 实例 > NameNode(对应上报告警实例IP地址)”,单击图表区域右上角的下拉菜单,选择“定制 > 垃圾回收”,勾选“NameNode垃圾回收(GC)时间”。查看NameNode每分钟的垃圾回收时间统计情况。
图1 NameNode垃圾回收(GC)时间
- 查看NameNode每分钟的垃圾回收时间统计值是否大于告警阈值(默认12秒)。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 配置 > 全部配置 > NameNode > 系统”。将“GC_OPTS”参数值根据实际情况调大。
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实例。
- 重启主NameNode过程中,会发生NameNode主备倒换,导致系统在短暂时间内出现无主现象(主备倒换过渡期),可能会出现HDFS服务不可用告警信息,运行的读写任务会报错,但是不会中断业务。
- 重启备NameNode业务不受影响。
- 观察界面告警是否清除。
- 是,处理完毕。
- 否,执行7。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。