ALM-18022 Yarn队列资源不足
告警解释
告警模块按60秒周期检测Yarn队列资源,当队列可用资源或队列AM(ApplicationMaster)可用资源不足时,产生该告警。
当可用资源充足时,该告警自动消除。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
18022 |
次要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
队列名 |
产生告警的队列名。 |
队列指标名 |
产生告警的队列指标名。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
- 应用任务结束时间变长。
- 新应用提交后长时间无法运行。
可能原因
- NodeManager节点资源过小。
- 队列最大资源容量设置过小。
- AM最大资源百分比设置过小。
处理步骤
检查告警详情。
- 在FusionInsight Manager界面,选择“运维 > 告警 > 告警”,弹出告警页面。
- 查看“Yarn队列资源不足”告警详情中的“定位信息”,查看“定位信息”是否为“队列名=root;队列指标名=Memory”或“队列名=root;队列指标名=vCores”。
- 出现该定位信息表示Yarn集群内存或CPU不足,登录NodeManager节点,分别使用命令free -g和cat /proc/cpuinfo,查询节点可用内存和可用CPU,据此在FusionInsight Manager界面增大Yarn NodeManager的资源参数“yarn.nodemanager.resource.memory-mb”和“yarn.nodemanager.resource.cpu-vcores”的值,然后重启NodeManager实例。查看该告警是否消除。
- 是,处理完毕。
- 否,执行4。
- 查看“定位信息”为“队列名=<租户队列名>;队列指标名=Memory”或“队列名=<租户队列名>;队列指标名=vCores”,然后查看“附加信息”是否包含“available Memory =”或“available vCores =”。
- 出现该附加信息表示该租户队列内存或者CPU不足,选择“租户资源 > 动态资源计划 > 资源分布策略”,调大“最大资源容量”的值,查看该告警是否消除。
- 是,处理完毕。
- 否,执行6。
- 选择“集群 > 待操作集群的名称 > 服务 > Yarn > 配置 > 全部配置”,输入搜索关键字“threshold”,单击“ResourceManager”,调整如下参数阈值:
如果“附加信息”中包含“available Memory =”,调整“yarn.queue.memory.alarm.threshold”的阈值使其小于“附加信息”中的“available Memory =”的值。
如果“附加信息”中包含“available vCores =”,调整“yarn.queue.vcore.alarm.threshold”的阈值使其小于“附加信息”中的“available vCores =”的值。
等待5分钟,查看该告警是否消除。- 是,处理完毕。
- 否,执行9。
- 查看“附加信息”包含“available AmMemory =”或“available AmvCores =”,表示该租户队列的ApplicationMaster内存和CPU不足,选择“租户资源 > 动态资源计划 > 队列配置”,增大“AM最大资源百分比”,查看该告警是否消除。
- 是,处理完毕。
- 否,执行8。
- 选择“集群 > 待操作集群的名称 >服务 > Yarn > 配置 > 全部配置”,输入搜索关键字“threshold”,单击“ResourceManager”:调整如下参数阈值:
如果“附加信息”包含“available AmMemory =”,调整“yarn.am.memory.alarm.threshold”的阈值使其小于“附加信息”中的“available AmMemory =”的值。
如果“附加信息”包含“available AmvCores =”,调整“yarn.am.vcore.alarm.threshold”的阈值使其小于“附加信息”中的“available AmvCores =”的值。
等待5分钟,查看该告警是否消除。- 是,处理完毕。
- 否,执行9。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。