告警解釋
系統每30秒周期性檢測Hive非堆內存使用率,并把實際的Hive非堆內存使用率和閾值相比較。當Hive非堆內存使用率超出閾值(默認為最大非堆內存的95%)時產生該告警。
用戶可通過“運維 > 告警 > 閾值設置 > 待操作集群的名稱 > Hive”修改閾值。
當Hive非堆內存使用率小于或等于閾值時,告警恢復。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 16008 | 重要 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| 主機名 | 產生告警的主機名。 |
| Trigger Condition | 系統當前指標取值滿足自定義的告警設置條件。 |
對系統的影響
Hive非堆內存使用率過高,會影響Hive任務運行的性能,甚至造成內存溢出導致Hive服務不可用。
可能原因
該節點Hive實例非堆內存使用量過大,或分配的非堆內存不合理,導致使用率超過閾值。
處理步驟
檢查非堆內存使用率
1.在FusionInsight Manager首頁,選擇“運維 > 告警 > 告警”,選中“告警ID”為“16008”的告警,查看“定位信息”中的角色名并確定實例的IP地址。
- 告警上報的角色是HiveServer,執行步驟2。
- 告警上報的角色是MetaStore,執行步驟3。
2.在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 > Hive > 實例”,單擊告警上報的HiveServer,進入實例“概覽”頁面,單擊圖表區域右上角的下拉菜單,選擇“定制 > CPU和內存”,勾選“HiveServer內存使用率統計” ,單擊“確定”,查看HiveServer進程使用的非堆內存是否已達到HiveServer進程設定的最大非堆內存的閾值(默認95%)。
- 是,執行步驟4。
- 否,執行步驟7。
3.在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 > Hive > 實例”,單擊告警上報的MetaStore,進入實例“概覽”頁面,單擊圖表區域右上角的下拉菜單,選擇“定制 > CPU和內存”,勾選“MetaStore內存使用率統計” ,單擊“確定”,查看MetaStore進程使用的非堆內存是否已達到MetaStore進程設定的最大非堆內存的閾值(默認95%)。
- 是,執行步驟4。
- 否,執行步驟7。
4.在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 > Hive > 配置”,選擇“全部配置”, 選擇“HiveServer/MetaStore > JVM”,將“HIVE_GC_OPTS/METASTORE_GC_OPTS”參數中“-XX:MaxMetaspaceSize”的值根據如下建議進行調整,并單擊“保存”。
說明
HiveServer的GC參數配置建議
-建議將“-XX:MaxMetaspaceSize”值設置成為“-Xmx”大小的1/8,比如:“-Xmx”設置為2G時,“-XX:MaxMetaspaceSize”設置為256M;“-Xmx”設置為4G時,“-XX:MaxMetaspaceSize”設置為512M。
MetaServer的GC參數配置建議
-建議將“-XX:MaxMetaspaceSize”值設置成為“-Xmx”大小的1/8,比如:“-Xmx”設置為2G時,“-XX:MaxMetaspaceSize”設置為256M;“-Xmx”設置為4G時,“-XX:MaxMetaspaceSize”設置為512M。
5.選擇“更多 > 重啟服務”重啟服務。
6.觀察界面告警是否清除。
- 是,處理完畢。
- 否,執行步驟7。
收集故障信息
7.在FusionInsight Manager首頁,選擇“運維 > 日志 > 下載”。
8.在“服務”中勾選待操作集群的“Hive”。
9.單擊右上角的
設置日志收集的“開始時間”和“結束時間”,分別為告警產生時間的前后10分鐘,單擊“下載”。
10.請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。