告警解釋
系統每30秒周期性檢測待補齊的塊數量,并把待補齊的塊數量和閾值相比較。需補齊的塊數量指標默認提供一個閾值范圍。當檢測到丟失的塊數量超出閾值范圍時產生該告警。
用戶可通過“運維 > 告警 > 閾值設置 > 待操作集群名稱 > HDFS > 文件和塊 > 需要復制副本的塊總數(NameNode)”修改閾值。
平滑次數為1,待補齊的塊數量小于或等于閾值時,告警恢復;平滑次數大于1,待補齊的塊數量小于或等于閾值的90%時,告警恢復。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 14028 | 次要 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| 主機名 | 產生告警的主機名。 |
| NameService名 | 產生告警的NameService名稱。 |
| Trigger condition | 系統當前指標取值滿足自定義的告警設置條件。 |
對系統的影響
HDFS存儲數據丟失,HDFS可能會進入安全模式,無法提供寫服務。丟失的塊數據無法恢復。
可能原因
- DataNode實例異常。
- 數據被刪除。
- 寫入文件的副本數大于DataNode的節點數。
處理步驟
1.在FusionInsight Manager首頁,選擇“運維 > 告警 > 告警”查看是否存在告警“ALM-14003 丟失的HDFS塊數量超過閾值”。
- 是,執行步驟2。
- 否,執行步驟3。
2.按照“ALM-14003 丟失的HDFS塊數量超過閾值”的處理方法處理,然后等待5分鐘,檢查告警是否清除。
- 是,結束。
- 否,執行步驟3。
3.以root用戶登錄HDFS客戶端,用戶密碼為安裝前用戶自定義,請咨詢系統管理員。執行如下命令:
- 安全模式:
cd 客戶端安裝目錄
source bigdata_env
kinit hdfs
- 普通模式:
su - omm
cd 客戶端安裝目錄
source bigdata_env
4.執行命令 hdfs fsck / >> fsck.log ,獲取當前集群的狀況。
5.使用命令統計當前待復制塊數量M:
cat fsck.log | grep "Under-replicated"
6.使用命令統計“/tmp/hadoop-yarn/staging/”目錄下的待復制塊數量N:
cat fsck.log | grep "Under replicated" | grep "/tmp/hadoop-yarn/staging/" | wc -l
說明“/tmp/hadoop-yarn/staging/”目錄為默認值,如果客戶有修改,可以通過mapred-site.xml文件配置項“yarn.app.mapreduce.am.staging-dir”獲取此路徑。
7.比對N是否占了M的大多數(N/M>50%)。
- 是,執行步驟8。
- 否,執行步驟9。
8.執行命令來重新配置目錄的文件副本數(文件副本數選擇DataNode節點數或者默認文件副本數):
hdfs dfs -setrep -w 文件副本數 /tmp/hadoop-yarn/staging/
說明默認文件副本數通過如下方式獲取:
登錄Manager頁面,選擇“集群 > 服務 > HDFS > 配置 > 全部配置”,搜索dfs.replication參數,該參數的值即是默認文件副本數。
然后等待5分鐘,檢查告警是否清除。
是,結束。
否,執行步驟9。
收集故障信息
9.在FusionInsight Manager首頁,選擇“運維 > 日志 > 下載”。
10.在“服務”中勾選待操作集群的“HDFS”。
11.單擊右上角的
設置日志收集的“開始時間”和“結束時間”分別為告警產生時間的前后10分鐘,單擊“下載”。
12.請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。