ALM-14026 DataNode块数超过阈值
告警解释
系统每30秒周期性检测每个DataNode上的块数,当检测到当前的DataNode节点上块数超过阈值时产生该告警。
如果平滑次数为1,DataNode节点上的块数小于或等于阈值时,告警恢复;如果平滑次数大于1,DataNode节点上的块数小于或等于阈值的90%时,告警恢复。
告警属性
告警ID |
告警级别 |
告警类型 |
业务类型 |
是否可自动清除 |
---|---|---|---|---|
14026 |
重要 |
业务质量告警 |
HDFS |
是 |
告警参数
类别 |
参数名称 |
参数含义 |
---|---|---|
定位信息 |
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
|
角色名 |
产生告警的角色名称。 |
|
主机名 |
产生告警的主机名。 |
|
附加信息 |
触发条件 |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
上报DataNode块数超过阈值告警时,表示该DataNode节点上块数太多,继续写入可能会由于磁盘空间不足导致写入HDFS数据失败。
可能原因
- 告警阈值配置不合理。
- DataNode节点间数据倾斜。
- HDFS集群配置的磁盘空间不足。
处理步骤
修改阈值配置
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > HDFS > 配置 > 全部配置”,查找HDFS->DataNode下的GC_OPTS参数。
- 配置DataNode块数阈值:修改GC_OPTS参数中Xmx的值(Xmx内存值对应节点块数阈值为每GB对应500000块数,用户根据需要调整内存值),确认GC_PROFILE的值为custom,保存配置。
- 选择“集群 > 待操作集群的名称 > HDFS > 实例”勾选状态为“配置过期”的DataNode实例,选择“更多 > 重启实例”使GC_OPTS配置生效。
- 等待5分钟,检查该告警是否恢复。
- 是,处理完毕。
- 否,执行5。
查看是否有关联告警
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”中查看是否存在告警“ALM-14002 DataNode磁盘空间使用率超过阈值”。
- 参考“ALM-14002 DataNode磁盘空间使用率超过阈值”进行处理,查看对应告警是否清除。
- 等待5分钟,检查该告警是否恢复。
- 是,处理完毕。
- 否,执行8。
对DataNode进行扩容
- 对DataNode进行扩容。
- 在FusionInsight Manager首页,等待5分钟后,查看本告警是否清除。
- 是,处理完毕。
- 否,执行10。
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
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节点数,单个DataNode实例平均Block数量变化时请修改默认值中的“-Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M”。参考值如下表所示。
单个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块数,用户可根据需要调整内存值。