ALM-14020 HDFS目录条目数量超过阈值
告警解释
系统每一个小时获取指定目录下直接子文件/目录的数量,判断其是否达到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%。
处理步骤
检查系统中是否有不需要的文件。
- 以root用户登录HDFS客户端。执行cd命令进入客户端安装目录,然后执行source bigdata_env命令设置环境变量。
如果集群采用安全版本,要进行安全认证。
执行kinit hdfs命令,按提示输入密码(向MRS集群管理员获取密码)。
- 执行如下命令,检查发出告警的目录下的文件或目录是否是可以删除的无用文件。
hdfs dfs -ls 产生告警的目录路径
- 执行如下命令。删除无用的文件。
hdfs dfs -rm -r -f 文件或目录路径
删除文件为高危操作,在执行操作前请务必确认对应文件是否不再需要。
- 等待1个小时,检查该告警是否清除。
- 是,处理完毕。
- 否,执行5。
检查系统阈值是否正确设置。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 配置 > 全部配置”,搜索“dfs.namenode.fs-limits.max-directory-items”参数,确定当前值配置是否合理。
- 增大该参数值。
- 保存配置,选择“概览 > 更多 > 重启服务”。
服务在重启过程中将不可用。另外,依赖该服务的上层服务也将受到影响。
- 等待1个小时,检查该告警是否清除。
- 是,处理完毕。
- 否,执行9。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。