告警解釋
系統每30秒周期性檢測HDFS DataNode非堆內存使用率,并把實際的HDFS DataNode非堆內存使用率和閾值相比較。HDFS DataNode非堆內存使用率指標默認提供一個閾值范圍。當HDFS DataNode非堆內存使用率超出閾值范圍時,產生該告警。
用戶可通過“運維 > 告警 > 閾值設置 > 待操作集群的名稱 > HDFS”修改閾值。
當HDFS DataNode非堆內存使用率小于或等于閾值時,告警恢復。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 14019 | 重要 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| 主機名 | 產生告警的主機名。 |
| Trigger condition | 系統當前指標取值滿足自定義的告警設置條件。 |
對系統的影響
HDFS DataNode非堆內存使用率過高,會影響HDFS的數據讀寫性能。
可能原因
HDFS DataNode配置的非堆內存不足。
處理步驟
清除無用文件
1.以root用戶登錄HDFS客戶端。執行cd命令進入客戶端安裝目錄,然后執行 source bigdata_env 。
如果集群采用安全版本,要進行安全認證。
2.執行hdfs dfs -rm -r 文件或目錄路徑命令,確認刪除無用的文件。
3.檢查本告警是否恢復。
- 是,處理完畢。
- 否,執行步驟4。
查看DataNode JVM內存使用情況和當前配置
4.在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 > HDFS”。
5.在“基本信息”區域,單擊“NameNode(主)”,顯示HDFS WebUI頁面。
說明admin用戶默認不具備其他組件的管理權限,如果訪問組件原生界面時出現因權限不足而打不開頁面或內容顯示不全時,可手動創建具備對應組件管理權限的用戶進行登錄。
6.在HDFS WebUI,單擊“Datanodes”頁簽,查看所有告警DataNode節點的Block數量。
7.在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 > HDFS > 配置 > 全部配置”,在“搜索”中,輸入“GC_OPTS”,確定當前“HDFS->DataNode”的“GC_OPTS”內存參數。
對系統進行調整
8.根據步驟6中的Block數量和步驟7中DataNode配置的內存參數,檢查當前配置的內存是否不合理。
- 是,執行步驟9。
- 否,執行步驟12。
說明單個DataNode實例上的平均Block數量和DataNode內存的對應關系參考值如下:
單個DataNode實例平均Block數量達到2,000,000,DataNode的JVM參數參考值為:-Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M。
單個DataNode實例平均Block數量達到5,000,000,DataNode的JVM參數參考值為:-Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G。
9.按照Block數量和內存對應關系,對DataNode的內存參數“GC_OPTS”進行修改。
10.保存配置,選擇“概覽 > 更多 > 重啟服務”。
11.檢查本告警是否恢復。
- 是,處理完畢。
- 否,執行步驟12。
收集故障信息
12.在FusionInsight Manager首頁,選擇“運維 > 日志 > 下載”。
13.在“服務”中勾選待操作集群的如下服務。
- ZooKeeper
- HDFS
14.單擊右上角的
設置日志收集的“開始時間”和“結束時間”分別為告警產生時間的前后10分鐘,單擊“下載”。
15.請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。