告警解釋
系統每一個小時獲取指定目錄下直接子文件/目錄的數量,判斷其是否達到HDFS目錄最大子文件/目錄個數的百分比閾值(默認為“90%”),如果超過該閾值,則觸發告警。
當發出告警的目錄的子目錄/文件數所占百分比低于閾值后,該告警將自動恢復。當監控開關關閉,所有目錄對應的該告警都將自動恢復。當從監控列表中移除指定目錄時,該目錄對應的告警也會自動恢復。
說明
HDFS目錄的子文件/目錄最大個數由參數“dfs.namenode.fs-limits.max-directory-items”指定,默認值為“1048576”。如果一個目錄的子文件/目錄數量超過該值,則無法再在該目錄下創建新的子文件/目錄。
要監控的目錄列表由參數“dfs.namenode.directory-items.monitor”指定,默認值為“/tmp,/SparkJobHistory,/mr-history”。
監控開關由參數“dfs.namenode.directory-items.monitor.enabled”指定,默認值為“true”,即該檢測默認開啟。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 14020 | 重要 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| NameService名 | 產生告警的NameService名稱。 |
| 目錄名 | 產生告警的目錄名稱。 |
| Trigger Condition | 系統當前指標取值滿足自定義的告警設置條件。 |
對系統的影響
當監控目錄下的條目數超過系統閾值的90%觸發該告警,但不影響對該目錄繼續增加條目。一旦超過系統最大閾值,繼續增加條目會失敗。
可能原因
監控目錄的條目數超過系統閾值的90%。
處理步驟
檢查系統中是否有不需要的文件
1.以root用戶登錄HDFS客戶端。執行cd命令進入客戶端安裝目錄,然后執行source bigdata_env命令設置環境變量。
如果集群采用安全版本,要進行安全認證。
執行kinit hdfs命令,按提示輸入密碼(向管理員獲取密碼)。
2.執行如下命令,檢查發出告警的目錄下的文件或目錄是否是可以刪除的無用文件。
hdfs dfs -ls產生告警的目錄路徑
- 是,執行步驟3。
- 否,執行步驟5。
3.執行如下命令。刪除無用的文件。
hdfs dfs -rm -r -f 文件或目錄路徑
說明刪除文件為高危操作,在執行操作前請務必確認對應文件是否不再需要。
4.等待1個小時,檢查該告警是否清除。
- 是,處理完畢。
- 否,執行步驟5。
檢查系統閾值是否正確設置
5.在FusionInsight Manager首頁,選擇“集群 > 待操作集群的名稱 > 服務 > HDFS > 配置 > 全部配置”,搜索“dfs.namenode.fs-limits.max-directory-items”參數,確定當前值配置是否合理。
- 是,執行步驟9。
- 否,執行步驟6。
6.增大該參數值。
7.保存配置,選擇“概覽 > 更多 > 重啟服務”。
8.等待1個小時,檢查該告警是否清除。
- 是,處理完畢。
- 否,執行步驟9。
收集故障信息
9.在FusionInsight Manager首頁,選擇“運維 > 日志 > 下載”。
10.在“服務”中勾選待操作集群的“HDFS”,單擊“確定”。
11.單擊右上角
的
設置日志收集的“開始時間”和“結束時間”分別為告警產生時間的前后10分鐘,單擊“下載”。
12.請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。