ALM-13003 ZooKeeper进程垃圾回收(GC)时间超过阈值
告警解释
系统每60秒周期性检测ZooKeeper进程的垃圾回收(GC)占用时间,当检测到ZooKeeper进程的垃圾回收(GC)时间超出阈值(默认12秒)时,产生该告警。
垃圾回收(GC)时间小于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
13003 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
ZooKeeper进程的垃圾回收时间过长,可能影响该ZooKeeper进程响应时间变长,可能导致上层组件(例如Yarn、Flink、Spark等)业务失败。
可能原因
该节点ZooKeeper实例堆内存使用率过大,或配置的堆内存不合理,导致进程GC频繁。
处理步骤
检查GC时间。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,单击告警“ZooKeeper进程垃圾回收(GC)时间超过阈值”所在行的下拉菜单。查看告警上报的实例的IP地址。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > ZooKeeper > 实例 > quorumpeer”。单击图表区域右上角的下拉菜单,选择“定制 > GC”,勾选“ZooKeeper垃圾回收(GC)时间”,单击“确定”,查看ZooKeeper每分钟的垃圾回收时间统计情况。
图1 ZooKeeper垃圾回收(GC)时间
- 查看ZooKeeper每分钟的垃圾回收时间统计值是否大于告警阈值(默认12秒)。
- 请先排查应用程序是否存在内存泄露等问题。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > ZooKeeper > 配置 > 全部配置 > quorumpeer > 系统”。将“GC_OPTS”参数值根据实际情况调大。
-Xmx一般配置为ZooKeeper数据容量的2倍,如果ZooKeeper容量达到2GB,则GC_OPTS建议配置为:
-Xms4G -Xmx4G -XX:NewSize=512M -XX:MaxNewSize=512M -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=64M -XX:CMSFullGCsBeforeCompaction=1
- 保存配置,并重启ZooKeeper服务。
服务在重启过程中将不可用。另外,依赖该服务的上层服务也将受到影响。
- 观察界面告警是否清除。
- 是,处理完毕。
- 否,执行8。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。