
# ALM-14026 DataNode块数超过阈值
#### 告警解释
系统每30秒周期性检测每个DataNode上的块数，当检测到当前的DataNode节点上块数超过阈值时产生该告警。
如果平滑次数为1，DataNode节点上的块数小于或等于阈值时，告警恢复；如果平滑次数大于1，DataNode节点上的块数小于或等于阈值的90%时，告警恢复。
#### 告警属性
| 告警ID  | 告警级别                                                        | 是否自动清除 |
|:---|:---|:---|
| 14026 | 次要（MRS 3.3.1之前版本） 重要（MRS 3.3.1及之后版本） | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群名称。            |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
上报DataNode块数超过阈值告警时，表示该DataNode节点上块数太多，继续写入可能会由于磁盘空间不足导致写入HDFS数据失败。
#### 可能原因
- 告警阈值配置不合理。

- DataNode节点间数据倾斜。
- HDFS集群配置的磁盘空间不足。
 
#### 处理步骤
**修改阈值配置**
1. 在FusionInsight Manager首页，选择"集群 \> HDFS \> 配置 \> 全部配置"，查找"HDFS \> DataNode"下的GC_OPTS参数。
2. 配置DataNode块数阈值。 
   修改GC_OPTS参数中Xmx的值（Xmx内存值对应节点块数阈值为每GB对应500000块数，用户根据需要调整内存值），确认GC_PROFILE的值为custom，保存配置。
   
   
3. 选择"集群 \> HDFS \> 实例"勾选状态为"配置过期"的DataNode实例，选择"更多 \> 重启实例"使GC_OPTS配置生效。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   重启期间服务业务可能受损或中断，建议选择业务低峰期操作。
   
   
4. 等待5分钟，检查该告警是否恢复。 
   - 是，处理完毕。
   
   - 否，执行[步骤 5]。
   
   
   
   
**查看是否有关联告警**
5. 在FusionInsight Manager首页，选择"运维 \> 告警 \> 告警"中查看是否存在告警"ALM-14002 DataNode磁盘空间使用率超过阈值"。
   
   - 是，执行[步骤 6]。
   
   - 否，执行[步骤 8]。
   
   
   
   
6. 参考[ALM-14002 DataNode磁盘空间使用率超过阈值](https://support.huaweicloud.com/usermanual-mrs/ALM-14002.html)进行处理，查看对应告警是否清除。
   
   - 是，执行[步骤 7]。
   
   - 否，执行[步骤 8]。
   
   
   
   
7. 等待5分钟，检查该告警是否恢复。
   
   - 是，处理完毕。
   
   - 否，执行[步骤 8]。
   
   
   
   
**对DataNode进行扩容**
8. 对DataNode进行扩容。
9. 在FusionInsight Manager首页，等待5分钟后，查看本告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 10]。
   
   
   
   
**收集故障信息**
10. 在FusionInsight Manager首页，选择"运维 \> 日志 \> 下载"。
11. 在"服务"中勾选待操作集群的"HDFS"。
12. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895589.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后20分钟，单击"下载"。
13. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
**DataNode JVM参数配置规则**
DataNode 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=2048
```
集群中每个DataNode实例平均保存的Blocks= HDFS Block \* 3 ÷ DataNode节点数。
HDFS Block：可以登录FusionInsight Manager，选择"集群 \> 服务 \> HDFS"，单击"NameNode Web UI"后的"NameNode(xxx，主)"进入HDFS原生页面，在"Summary"区域进行查看。
图1查看HDFS Block数   
![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002322067217.png "点击放大")
单个DataNode实例平均Block数量变化时请修改默认值中的"-Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M"。参考值如下表所示。
表1DataNode JVM配置 
| 单个DataNode实例平均Block数量 | 参考值                                                |
|:---|:---|
| 2,000,000             | -Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M |
| 5,000,000             | -Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G   |
   
Xmx内存值对应DataNode节点块数阈值，每GB对应500000块数，用户可根据需要调整内存值。
