ALM-13004 ZooKeeper堆內存使用率超過閾值
更新時間 2023-06-29 02:44:33
最近更新時間: 2023-06-29 02:44:33
分享文章
本章節主要介紹ALM-13004 ZooKeeper堆內存使用率超過閾值。
告警解釋
系統每60秒周期性檢測ZooKeeper服務堆內存使用狀態,當檢測到ZooKeeper實例堆內存使用率超出閾值(最大內存的95%)時產生該告警。
堆內存使用率小于閾值時,告警恢復。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 13004 | 重要 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| 主機名 | 產生告警的主機名。 |
| Trigger Condition | 系統當前指標取值滿足自定義的告警設置條件。 |
對系統的影響
ZooKeeper可用內存不足,可能會造成內存溢出導致服務崩潰。
可能原因
該節點ZooKeeper實例堆內存使用率過大,或配置的堆內存不合理,導致使用率超過閾值。
處理步驟
檢查堆內存使用率
- 在FusionInsight Manager首頁,選擇“運維 > 告警 > 告警”,單擊告警“ZooKeeper堆內存使用率超過閾值”所在行的下拉菜單,在定位信息中確認告警上報的主機名所在的節點IP地址。
- 在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 >ZooKeeper > 實例”,單擊對應IP地址的“角色”列的“quorumpeer”。單擊圖表區域右上角的下拉菜單,選擇“定制 > CPU 和內存”,勾選“ZooKeeper堆內存與直接內存使用率”,單擊“確定”,查看堆內存使用情況。
- 查看ZooKeeper使用的堆內存是否已達到ZooKeeper設定的最大堆內存的95%。
- 是,執行步驟 4。
- 否,執行步驟 7。
- 在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 >ZooKeeper > 配置 > 全部配置 > quorumpeer > 系統”。將GC_OPTS參數中-Xmx的值根據實際情況調大,具體調整方案如下:
a.單擊“實例”,選擇對應IP地址的“角色”列的“quorumpeer”,單擊圖表區域右上角的下拉菜單,選擇“定制 > CPU 和內存”,勾選“ZooKeeper堆內存與直接內存資源狀況”,單擊“確定”,查看ZooKeeper實際使用的堆內存大小。
b.根據堆內存實際使用量,修改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。
收集故障信息
- 在FusionInsight Manager界面,選擇“運維 > 日志 > 下載”。
- 在“服務”中勾選待操作集群的“ZooKeeper”。
- 單擊右上角的

設置日志收集的“開始時間”和“結束時間”分別為告警產生時間的前后10分鐘,單擊“下載”。 - 請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。