告警解釋
系統每30秒周期性檢測HDFS文件數,并把實際文件數和閾值相比較。當檢測到HDFS文件數指標超出閾值范圍時產生該告警。
平滑次數為1,HDFS文件數指標的值小于或等于閾值時,告警恢復;平滑次數大于1,HDFS文件數指標的值小于或等于閾值的90%時,告警恢復。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 14006 | 次要 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| 主機名 | 產生告警的主機名。 |
| NameService名 | 產生告警的NameService名稱。 |
| Trigger condition | 系統當前指標取值滿足自定義的告警設置條件。 |
對系統的影響
HDFS文件數過多,磁盤存儲不足可能造成數據入庫失敗。對HDFS系統性能產生影響。
可能原因
HDFS文件數超過閾值。
處理步驟
檢查系統中文件數量
- 在FusionInsight Manager首頁,查看當前的HDFS文件數。HDFS文件數可以通單擊“集群 > 待操作集群的名稱 > 服務 > HDFS”,單擊圖表區域右上角的下拉菜單,選擇“定制 > 文件和塊”,勾選“HDFS文件”和“HDFS塊數”監控項查看。
- 在“集群 > 待操作集群的名稱 > 服務 > HDFS>配置 > 全部配置”中查找“NameNode”下的GC_OPTS參數。
- 配置文件對象數閾值:修改GC_OPTS參數中Xmx的值(Xmx內存值對應文件數閾值的公式為(y = 0.2007 x - 0.6312),其中x為內存數Xmx(GB),y為文件數(單位KW)。用戶根據需要調整內存大小)。
- 確認GC_PROFILE的值為custom,使GC_OPTS配置生效。單擊“保存”,單擊“更多 > 重啟服務”重啟服務。
- 檢查本告警是否清除。
- 是,處理完畢。
- 否,執行步驟6。
檢查系統中是否有不需要的文件
- 以root用戶登錄HDFS客戶端。執行cd命令進入客戶端安裝目錄,然后執行source bigdata_env命令設置環境變量。
如果集群采用安全版本,要進行安全認證。
執行kinit hdfs命令,按提示輸入密碼。向管理員獲取密碼。
- 執行hdfs dfs -ls 文件或目錄路徑命令,檢查該目錄下的文件或目錄是否是可以刪除的無用文件。
- 是,執行步驟8。
- 否,執行步驟9。
- 執行hdfs dfs -rm -r 文件或目錄路徑命令。確認刪除無用的文件后,等待文件在垃圾站中超過保留時間后(NameNode的配置參數“fs.trash.interval”指定了垃圾站中數據的保留時間),檢查本告警是否清除。
說明
說明刪除文件為高危操作,在執行操作前請務必確認對應文件是否不再需要。
是,處理完畢。
否,執行步驟 9。
收集故障信息
- 在FusionInsight Manager首頁,單擊“運維 > 日志 > 下載”。
- 在“服務”中勾選待操作集群的“HDFS”。
- 單擊右上角的

設置日志收集的“開始時間”和“結束時間”分別為告警產生時間的前后10分鐘,單擊“下載”。 - 請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
NameNodeJVM參數配置規則
NameNode JVM參數“GC_OPTS”默認值為:
Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M
XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -XX:+UseConcMarkSweepGC
XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65
XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=0x7FFFFFFFFFFFFFE
Dsun.rmi.dgc.server.gcInterval=0x7FFFFFFFFFFFFFE
XX:-OmitStackTraceInFastThrow -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation
XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M
Djdk.tls.ephemeralDHKeySize=3072
Djdk.tls.rejectClientInitiatedRenegotiation=true -Djava.io.tmpdir=${Bigdata_tmp_dir}
NameNode文件數量和NameNode使用的內存大小成比例關系,文件對象變化時請修改默認值中的“-Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M”。參考值如下表所示。
| 文件對象數量 | 參考值 |
|---|---|
| 10,000,000 | -Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M |
| 20,000,000 | -Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G |
| 50,000,000 | -Xms32G -Xmx32G -XX:NewSize=3G -XX:MaxNewSize=3G |
| 100,000,000 | -Xms64G -Xmx64G -XX:NewSize=6G -XX:MaxNewSize=6G |
| 200,000,000 | -Xms96G -Xmx96G -XX:NewSize=9G -XX:MaxNewSize=9G |
| 300,000,000 | -Xms164G -Xmx164G -XX:NewSize=12G -XX:MaxNewSize=12G |