ALM-14022 NameNode RPC队列平均时间超过阈值
告警解释
系统每30秒周期性检测NameNode的RPC队列平均时间,并把实际的NameNode的RPC队列平均时间和阈值相比较。当检测到NameNode的RPC队列平均时间连续多次(默认为10次)超出阈值范围时,产生该告警。
用户可通过“运维 > 告警 > 阈值设置 > 待操作集群的名称 > HDFS”修改阈值。
如果平滑次数为1,NameNode的RPC队列平均时间小于或等于阈值时,告警恢复;如果平滑次数大于1,NameNode的RPC队列平均时间小于或等于阈值的90%时,告警恢复。
告警属性
告警ID |
告警级别 |
告警类型 |
业务类型 |
是否可自动清除 |
---|---|---|---|---|
14022 |
紧急(默认阈值为300ms) 重要(默认阈值为200ms) |
业务质量告警 |
HDFS |
是 |
告警参数
类别 |
参数名称 |
参数含义 |
---|---|---|
定位信息 |
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
|
角色名 |
产生告警的角色名称。 |
|
主机名 |
产生告警的主机名。 |
|
NameService名 |
产生告警的NameService名称。 |
|
附加信息 |
触发条件 |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
NameNode无法及时处理来自HDFS客户端、依赖于HDFS的上层服务、DataNode等的RPC请求,表现为访问HDFS服务的业务运行缓慢,严重时会导致HDFS服务不可用。
可能原因
- NameNode节点的CPU性能不足,导致NameNode无法及时处理消息。
- NameNode所设置的内存太小,频繁Full GC造成JVM卡顿。
- NameNode配置参数不合理,导致NameNode无法充分利用机器性能。
- HDFS的业务访问量太大,超过了NameNode的负载能力。
处理步骤
获取该告警的信息。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,在告警列表中找到该告警。
- 单击该告警,查看下面的告警详情。从“产生时间”可知该告警的触发时间;从“定位信息”中的“主机名”信息可知发出该告警的NameNode节点主机名;从“定位信息”中的NameServiceName信息可知发出该告警的NameService名称。
查看是否阈值设置过低。
- 查看依赖于HDFS的业务的运行状态是否正常运行。查看是否存在运行慢、执行任务超时的情况。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS”,单击图表区域右上角的下拉菜单,单击“定制”,在弹出的对话框中选择“主NameNode RPC队列平均时间”,单击“确定”。
- 查看“主NameNode RPC队列平均时间”监控中,获取发出告警的NameService的当前的监控值。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 阈值设置 > 待操作集群的名称 > HDFS”,找到“主NameNode RPC队列平均时间”,单击default规则中“操作”栏中的“修改”,修改“阈值”为当前监控值的150%。单击“确定”,保存新阈值。
- 等待1分钟,查看该告警是否自动消除。
- 是,处理结束。
- 否,执行8。
查看NameNode节点的CPU性能是否不足。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,查看该NameNode节点是否有“ALM-12016 CPU使用率超过阈值”告警。
- 按照“ALM-12016 CPU使用率超过阈值”告警处理文档,处理该告警。
- 处理完12016告警后,等待10分钟,查看14022告警是否自动消除。
- 是,处理结束。
- 否,执行11。
查看NameNode节点的内存是否设置过小。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,查看是否有该NameNode节点的“ALM-14007 HDFS NameNode堆内存使用率超过阈值”告警。
- 按照“ALM-14007 HDFS NameNode堆内存使用率超过阈值”告警处理文档,处理该告警。
- 处理完14007告警后,等待10分钟,查看14022告警是否自动消除。
- 是,处理结束。
- 否,执行14。
查看该NameNode配置参数是否合理。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS > 配置”,搜索配置项“dfs.namenode.handler.count”,查看其值。如果值小于或等于128,则设置为128;如果大于128但小于192,则设置为192。
- 搜索配置项“ipc.server.read.threadpool.size”,查看其值。如果值小于5,则设置为5。
- 单击“保存”,单击“确定”。
- 在HDFS的“实例”页面,先勾选发出该告警的NameService的备NameNode,在“更多”中单击“重启实例”,输入密码后单击“确定”,等待备NameNode启动完毕。
- 在HDFS的“实例”页面,先勾选发出该告警的NameService的主NameNode,在“更多”中单击“重启实例”,输入密码后单击“确定”,等待主NameNode启动完毕。
- 等待1小时,查看该告警是否自动消除。
- 是,处理结束。
- 否,执行20。
查看HDFS负载变化情况,适当降低HDFS负载。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > HDFS”,单击图表区域右上角的下拉菜单,选择“定制”,单击“RPC”,在弹出的对话框中选择“NameNode RPC队列平均时间”,单击“确定”。
- 单击,进入监控详细信息界面。
- 设置监控显示的时间段,从告警产生的时间的前5天开始,到告警产生时刻结束。单击“确定”按钮。
- 在“NameNode RPC队列平均时间”监控中,查看该监控是否有开始急剧增加的时间点。
- 确认并排查在该时间点,是否有新增任务大量访问HDFS,确认该任务是否可以调优,减少对HDFS的访问。
- 如果在该时间点有执行Balancer,则可以停止Balancer,或指定节点执行Balancer任务,来降低对HDFS的负载。
- 等待1小时,查看该告警是否自动消除。
- 是,处理结束。
- 否,执行27。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。