
# ALM-14003 丢失的HDFS块数量超过阈值
#### 告警解释
系统每30秒周期性检测丢失的HDFS块数量，并把丢失的块数量和阈值相比较。丢失的块数量指标默认提供一个阈值范围，当检测到丢失的HDFS块数量超出阈值范围时产生该告警。
用户可通过集群Manager界面中"运维 \> 告警 \> 阈值设置 \> HDFS \> HDFS缺失的块数量"修改阈值。
平滑次数为1，丢失的HDFS块数量小于或等于阈值时，告警恢复；平滑次数大于1，丢失的HDFS块数量小于或等于阈值的90%时，告警恢复。
#### 告警属性
| 告警ID  | 告警级别                                                | 是否自动清除 |
|:---|:---|:---|
| 14003 | 紧急（默认阈值为1000） 重要（默认阈值为0） | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群名称。            |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| NameService名      | 产生告警的NameService名称。   |
| Trigger condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
HDFS存储数据丢失，HDFS可能会进入安全模式，无法提供写服务。丢失的块数据同时无法恢复。
#### 可能原因
- DataNode实例异常。
- HDFS数据被删除。
 
#### 处理步骤
**检查DataNode实例。**
1. 在FusionInsight Manager首页，选择"集群 \> 服务 \> HDFS \> 实例"。
2. 查看所有DataNode实例的状态是否为"良好"。 
   - 是，执行[步骤 11]。
   
   - 否，执行[步骤 3]。
   
   
   
   
3. 重启DataNode实例，查看能否成功启动。
   
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   重启期间服务业务可能受损或中断，建议选择业务低峰期操作。
   - 是，执行[步骤 4]。
   
   - 否，执行[步骤 5]。
   
   
   
   
4. 选择"运维 \> 告警 \> 告警"，查看该告警是否恢复。
   
   - 是，处理完毕。
   
   - 否，执行[步骤 5]。
   
   
   
   
**删除被破坏的文件。**
5. 在FusionInsight Manager首页，选择"集群 \> 服务 \> HDFS \> NameNode(主)"，在HDFS的WebUI页面，查看列出的丢失块信息。
   
   - 如果有丢块，HDFS WebUI首页上会有错误显示。
   
   - 对于开启了Kerberos认证的集群，**admin**用户默认不具备其他组件的管理权限，如果访问组件原生界面时出现因权限不足而打不开页面或内容显示不全时，可手动创建具备对应组件管理权限的用户进行登录。
   
   
   
   
6. 用户确认丢失块所在的文件是否有用。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   MapReduce任务运行过程中在"/mr-history"、"/tmp/hadoop-yarn"、"/tmp/logs"这三个目录中生成的文件不属于有用文件。
   - 是，执行[步骤 7]。
   
   - 否，执行[步骤 8]。
   
   
   
   
7. 用户确认丢失块所在的文件是否已备份。
   
   - 是，执行[步骤 8]。
   
   - 否，执行[步骤 11]。
   
   
   
   
8. 以**root** 用户登录HDFS客户端所在节点，用户密码为安装前用户自定义，请咨询MRS集群管理员。
   
   - 开启了Kerberos认证的集群：
     ```
     cd 客户端安装目录
     source bigdata_env
     kinit hdfs
     ```
     
   
   - 未开启Kerberos认证的集群：
     ```
     su - omm
     cd 客户端安装目录
     source bigdata_env
     ```
     
   
   
   
   
9. 在客户端执行以下命令删除丢失文件，如果丢失块所在的文件为有用文件，需要再次写入文件，恢复数据。 
   ```
   hdfs fsck / -delete
   ```
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/warning_3.0-zh-cn.png)
   删除文件为高危操作，在执行操作前请务必确认对应文件是否不再需要。
   
   
10. 选择"运维 \> 告警 \> 告警"，查看该告警是否恢复。 
    - 是，处理完毕。
    
    - 否，执行[步骤 11]。
    
    
    
    
**收集故障信息。**
11. 在FusionInsight Manager首页，单击"运维 \> 日志 \> 下载"。
12. 在"服务"中勾选待操作集群的"HDFS"。
13. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895382.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
14. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
