ALM-18022 Yarn队列资源不足
告警解释
告警模块按周期(“alarm.resource.lack.check.times.threshold”参数控制,单位:分钟)检测Yarn队列资源,当队列可用资源或队列AM(ApplicationMaster)可用资源不足时:
- 如果“alarm.resource.lack.enable”参数配置为“true”,且“alarm.resource.lack.enable.queues”为空,则允许所有队列触发当前告警。
- 如果“alarm.resource.lack.enable”参数配置为“true”,且“alarm.resource.lack.enable.queues”配置了队列名称,则仅允许指定的队列上报当前告警。
- 如果“alarm.resource.lack.enable”参数配置为“false”,则不允许所有队列上报当前告警。
以上参数可以在Manager页面选择“集群 > 服务 > Yarn > 配置 > 全部配置”,搜索对应参数进行配置。
当可用资源充足时,该告警自动消除。
告警属性
告警ID |
告警级别 |
告警类型 |
业务类型 |
是否可自动清除 |
---|---|---|---|---|
18022 |
次要 |
业务质量告警 |
Yarn |
是 |
告警参数
类别 |
参数名称 |
参数含义 |
---|---|---|
定位信息 |
来源 |
产生告警的集群名称。 |
队列名 |
产生告警的队列名。 |
|
队列指标名 |
产生告警的队列指标名。 |
|
附加信息 |
触发条件 |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
- 应用任务结束时间变长。
- 新应用提交后长时间无法运行。
可能原因
- 告警上报机制需要调整。(仅适用于MRS 3.3.1及之后版本 )
- NodeManager节点资源过小。
- 队列最大资源容量设置过小。
- AM最大资源百分比设置过小。
处理步骤
调整告警上报机制(仅适用于MRS 3.3.1及之后版本 )
- 请根据实际业务情况,确认是否所有队列都需要上报当前告警:
- 所有队列都不需要上报告警:登录FusionInsight Manager界面,选择“集群 > 服务 > Yarn > 配置 > 全部配置”,搜索并修改“alarm.resource.lack.enable”参数值为“false”,保存配置。
- 仅部分队列需要上报告警:登录FusionInsight Manager界面,选择“集群 > 服务 > Yarn > 配置 > 全部配置”,搜索并修改“alarm.resource.lack.enable.queues”参数值为需要上报当前告警的队列名称,保存配置。
- 所有队列都需要上报告警:执行3。
- 等待5分钟,查看该告警是否消除。
- 是,处理完毕。
- 否,执行3。
检查NodeManager节点资源
- 在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实例。
- 查看该告警是否消除。
- 是,处理完毕。
- 否,执行7。
检查队列最大资源容量设置
- 查看告警详情中“定位信息”为“队列名=<租户队列名>;队列指标名=Memory”或“队列名=<租户队列名>;队列指标名=vCores”,然后查看告警详情中“附加信息”是否包含“available Memory =”或“available vCores =”。
- 出现该附加信息表示该租户队列内存或者CPU不足,选择“租户资源 > 动态资源计划 > 资源分布策略”,调大“最大资源”的值,查看该告警是否消除。
- 是,处理完毕。
- 否,执行9。
- 选择“集群 > 服务 > Yarn > 配置 > 全部配置”,输入搜索关键字“threshold”,单击“ResourceManager”,调整如下参数阈值:
如果“附加信息”中包含“available Memory =”,调整“yarn.queue.memory.alarm.threshold”的阈值使其小于“附加信息”中的“available Memory =”的值。
如果“附加信息”中包含“available vCores =”,调整“yarn.queue.vcore.alarm.threshold”的阈值使其小于“附加信息”中的“available vCores =”的值。
- 等待5分钟,查看该告警是否消除。
- 是,处理完毕。
- 否,执行11。
检查AM最大资源百分比
- 查看“附加信息”包含“available AmMemory =”或“available AmvCores =”,表示该租户队列的ApplicationMaster内存和CPU不足,选择“租户资源 > 动态资源计划 > 队列配置”,增大“AM最多占用资源”,查看该告警是否消除。
- 是,处理完毕。
- 否,执行12。
- 选择“集群 > 服务 > Yarn > 配置 > 全部配置”,输入搜索关键字“threshold”,单击“ResourceManager”:调整如下参数阈值:
如果“附加信息”包含“available AmMemory =”,调整“yarn.am.memory.alarm.threshold”的阈值使其小于“附加信息”中的“available AmMemory =”的值。
如果“附加信息”包含“available AmvCores =”,调整“yarn.am.vcore.alarm.threshold”的阈值使其小于“附加信息”中的“available AmvCores =”的值。
- 等待5分钟,查看该告警是否消除。
- 是,处理完毕。
- 否,执行14。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。