ALM-13004 ZooKeeper堆内存使用率超过阈值
告警解释
系统每60秒周期性检测ZooKeeper服务堆内存使用状态,当检测到ZooKeeper实例堆内存使用率超出阈值(最大内存的95%)时产生该告警。
堆内存使用率小于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
13004 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
ZooKeeper可用内存不足,可能会造成内存溢出导致服务崩溃,可能导致上游组件(例如Yarn、Flink、Spark等)业务运行失败。
可能原因
该节点ZooKeeper实例堆内存使用率过大,或配置的堆内存不合理,导致使用率超过阈值。
处理步骤
检查堆内存使用率。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,单击告警“ZooKeeper堆内存使用率超过阈值”所在行的下拉菜单,在定位信息中确认告警上报的主机名所在的节点IP地址。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > ZooKeeper > 实例”,单击对应IP地址的“角色”列的“quorumpeer”。单击图表区域右上角的下拉菜单,选择“定制 > CPU 和内存”,勾选“ZooKeeper堆内存与直接内存使用率”,单击“确定”,查看堆内存使用情况。
- 查看ZooKeeper使用的堆内存是否已达到ZooKeeper设定的最大堆内存的95%。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > ZooKeeper > 配置 > 全部配置 > quorumpeer > 系统”。将GC_OPTS参数中-Xmx的值根据实际情况调大,具体调整方案如下:
- 单击“实例”,选择对应IP地址的“角色”列的“quorumpeer”,单击图表区域右上角的下拉菜单,选择“定制 > CPU 和内存”,勾选“ZooKeeper堆内存与直接内存资源状况”,单击“确定”,查看ZooKeeper实际使用的堆内存大小。
- 根据堆内存实际使用量,修改GC_OPTS参数中的-Xmx值,该值一般为Zookeeper数据容量的2倍。例如当前ZooKeeper堆内存使用达到2G,则GC_OPTS建议配置为“-Xms4G -Xmx4G -XX:NewSize=512M -XX:MaxNewSize=512M -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=64M -XX:CMSFullGCsBeforeCompaction=1”。
- 保存配置,并重启ZooKeeper服务。
服务在重启过程中将不可用。另外,依赖该服务的上层服务也将受到影响。
- 观察界面告警是否清除?
- 是,处理完毕。
- 否,执行7。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。