HDFS告警

1.NameNode监控出现Block Missing告警

告警说明

NameNode监控提示的异常文件检查该文件健康状况

告警参数

参数名称 参数含义
告警阈值
丢失数据 Miss 数据百分比

影响范围

数据丢失

原因分析

数据节点硬盘故障,或节点故障可能导致数据副本丢失。

HDFS对应文件的副本全部丢失。

处理步骤

执行hdfs fsck [异常文件路径],查看异常文件block健康状况,观察副本数是否大于0,找出异常block信息。

根据异常block信息,查看NameNode业务日志,找出该Block的数据分布情况,即分布在哪些数据节点。

登录这些节点查看DN日志,若日志显示该Block已存在,则依次重启DN服务,观察Block是否能正常汇报给NN服务并恢复该Block。

是,操作结束。

否,则执行步骤4。

联系技术支持,与用户确认是否可以删除。

若可以删除,则执行删除操作:hdfs fsck [异常文件路径] -delete。

2.NameNode 处于安全模式

告警说明

Hdfs进入安全模式之后,客户端只能对hdfs的文件进行读操作,不能进行修改,删除,移动,重命名等操作。

告警参数

参数名称 参数含义
告警集群
状态 处于安全模式

影响范围

集群绝大部分功能不能使用

原因分析

数据节点硬盘故障,或节点故障可能导致数据副本丢失。

HDFS在如下情况进入安全模式:

当NameNode启动且等待DataNode上报副本。

NameNode所在磁盘空间不足。

HDFS block丢失的阈值过高。在前面情况发生后,HDFS进入SafeMode。HDFS需要一个很长的时间和特定条件来退出SafeMode。

HDFS对应文件的副本全部丢失。

处理步骤

尝试退出安全模式

hadoop dfsadmin -safemode get 查看安全模式状态

hadoop dfsadmin -safemode leave 强制NameNode退出安全模式

无法退出安全模式

具体排查相关namenode的主机资源使用情况

排查namenode的日志

3.hdfs数据存储不均衡

告警说明

datanode存储不均衡,部分磁盘超过使用率85%;

告警参数

参数名称 参数含义
告警节点 datanode节点名称
磁盘写入值
磁盘阈值 默认85%

影响范围

部分存储水位datanode不可用

原因分析

变更磁盘配置

集群长时间运行,业务集中到某些节点上。

集群中节点的磁盘容量不均匀。

处理步骤

针对hdfs做数据均衡操作

4.namenode存活告警

告警说明

目前集群默认配置2个namenode,如果如果有namenode宕机,会进行告警推送;

告警参数

影响范围

如果2台都宕机,整个集群不可用,如果有一台宕机,集群可用正常使用,但是需要修复宕机namenode;

原因分析

namenode主机故障,比如说主机宕机,磁盘存储满了,磁盘io长时间被打满等;

namenode有大量的full GC;

namenode元数据损坏,比如说JournalNode editlog文件损坏,各个JournalNode节点上数据不一致;

zookeeper故障;

处理步骤

排查当前主机是否宕机,磁盘是否写满,磁盘故障等;

排查当前namenode的相关以及gc日志,查看gc是否时间过长;

排查namenode的相关日志,根据日志定位,具体详见hdfs故障;

5.datanode dead 告警

告警说明

datanode由于各种原因导致跟namenode失联

告警参数

影响范围

宕机节点数小于副本数,集群正常,如果宕机节点数据大于等于副本数,会导致部分服务异常;

原因分析

当前主机故障,比如说主机宕机,磁盘写满等

主节点与从节点clusterID和namespaceID不一致

ulimit 等参设置不合理

处理步骤

排查当前主机资源使用情况,比如磁盘,内存等;

排查datanode的相关日志查看是否有open file等异常日志表示ulimit参数设置不合理,需要调整ulimit相关参数;

具体详见节点clusterID和namespaceID不一致;