
# ALM-14020 HDFS目录条目数量超过阈值
#### 告警解释
系统每一个小时获取指定目录下直接子文件/目录的数量，判断其是否达到HDFS目录最大子文件/目录个数的百分比阈值，如果超过该阈值，则触发告警。
当发出告警的目录的子目录/文件数所占百分比低于阈值后，该告警将自动恢复。当监控开关关闭，所有目录对应的该告警都将自动恢复。当从监控列表中移除指定目录时，该目录对应的告警也会自动恢复。
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 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 | 紧急（默认阈值为95%） 重要（默认阈值为90%） | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群名称。            |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| NameService名      | 产生告警的NameService名称。   |
| 目录名               | 产生告警的目录名称。            |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
当监控目录下的条目数超过系统阈值的90%触发该告警，但不影响对该目录继续增加条目。一旦超过系统最大阈值，继续增加条目会失败。
#### 可能原因
监控目录的条目数超过系统阈值的90%。
#### 处理步骤
**检查系统中是否有不需要的文件。**
1. 以**root** 用户登录HDFS客户端，用户密码为安装前用户自定义，请咨询系统管理员。执行**cd** 命令进入客户端安装目录，然后执行**source bigdata_env** 命令设置环境变量。
   
   如果集群采用安全版本，要进行安全认证。
   执行**kinit hdfs**命令，按提示输入密码（向MRS集群管理员获取密码）。
   
   
2. 执行如下命令，检查发出告警的目录下的文件或目录是否是可以删除的无用文件。 
   **hdfs dfs -ls** *产生告警的目录路径*
   - 是，执行[步骤 3]。
   
   - 否，执行[步骤 5]。
   
   
   
   
3. 执行如下命令。删除无用的文件。
   
   **hdfs dfs -rm -r -f** *文件或目录路径*
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   删除文件为高危操作，在执行操作前请务必确认对应文件是否不再需要。
   
   
4. 等待1个小时，检查该告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 5]。
   
   
   
   
**检查系统阈值是否正确设置。**
5. 在FusionInsight Manager首页，选择"集群 \> *待操作集群的名称* \> 服务 \> HDFS \> 配置 \> 全部配置"，搜索"dfs.namenode.fs-limits.max-directory-items"参数，确定当前值配置是否合理。
   
   - 是，执行[步骤 9]。
   
   - 否，执行[步骤 6]。
   
   
   
   
6. 增大该参数值。
7. 保存配置，选择"概览 \> 更多 \> 重启服务"。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   服务在重启过程中将不可用。另外，依赖该服务的上层服务也将受到影响。
   
   
8. 等待1个小时，检查该告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 9]。
   
   
   
   
**收集故障信息。**
9. 在FusionInsight Manager首页，选择"运维 \> 日志 \> 下载"。
10. 在"服务"中勾选待操作集群的"HDFS"，单击"确定"。
11. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895589.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
12. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
