告警解释
系统每一个小时获取指定目录下直接子文件/目录的数量,判断其是否达到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.请联系运维人员,并发送已收集的故障日志信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。