首页 > 其他分享 >yarn创建子队列,子队列出现超配的问题

yarn创建子队列,子队列出现超配的问题

时间:2024-02-21 15:11:50浏览次数:24  
标签:超配 vcore 队列 transfer yarn 内存

背景

由于业务需求,需要新增一个子队列transfer,总资源:Vcore=192  Mem=320G,队列规划如下:

 

根据配置文件中的属性,transfer 队列的容量为 30%。集群总共有 192 个 vcore 和 320 GB 内存。

对于 vcore,最大可分配数量为:

vcore_limit = (total_vcore * transfer_queue_capacity) / 100 = (192 * 30) / 100 = 57.6

因为 vcore 必须是整数,所以最大可分配的 vcore 为 57。

对于内存,最大可分配数量为:

mem_limit = (total_mem * transfer_queue_capacity) / 100 = (320 * 30) / 100 = 96

因此,在 transfer 队列条件允许的情况下,最大可分配的 vcore 为 57,内存为 96 GB。

问题

研发任务运行在transfer队列,出现资源超配的现象,导致资源瞬间占满,如图

 

根据之前的计算,transfer 队列中最大可分配的 vcore 为 57,而实际 running containers 数量为 95,AllocateaCpu Vcore 为 95,这意味着资源利用率超过了 transfer 队列的配置限制。因此,存在资源超配的情况。

解决方案

在yarn-site下新增 yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
该参数用于比较调度器中的资源的ResourceCalculator实现。
默认的即org.apache.hadoop.yarn.util.resource.DefaultResourseCalculator只使用内存,而DominantResourceCalculator 用 Dominant-resource比较多维度资源,如内存,CPU等等
这样修改后重启resourmanger 观察是否正常

 

同类参考连接:https://blog.csdn.net/CPP_MAYIBO/article/details/100813294

 

标签:超配,vcore,队列,transfer,yarn,内存
From: https://www.cnblogs.com/zhouzhiguo/p/18025255

相关文章

  • Python数据结构与算法04——栈与队列
    栈的实现:classStack(object):def__init__(self):self.__list=[]defpush(self,item):self.__list.append(item)defpop(self):returnself.__list.pop()defpeek(self):ifself.__list:returnself._......
  • Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
    写在开头队列是Java中的一个集合接口,之前的文章已经讲解了List和Set,那么今天就来唠一唠它吧。队列的特点:存储的元素是有序的、可重复的。队列的两大接口QueuevsDequeQueue是单端队列,只能从一端插入元素,另一端删除元素,实现上一般遵循先进先出(FIFO)规则。Queue接口抛出......
  • 美团面试:Kafka如何处理百万级消息队列?
    美团面试:Kafka如何处理百万级消息队列?在今天的大数据时代,处理海量数据已成为各行各业的标配。特别是在消息队列领域,ApacheKafka作为一个分布式流处理平台,因其高吞吐量、可扩展性、容错性以及低延迟的特性而广受欢迎。但当面对真正的百万级甚至更高量级的消息处理时,如何有效地利......
  • C语言循环队列详解
    前言相比于链队列,循环队列有着内存固定,效率高等特点,因而广泛应用于计算机的各个层面。本文主要介绍循环队列的概念和特点,列举一些循环队列的应用场景,以及给出用数组用C语言实现循环队列的代码。一、什么是循环队列?循环队列是一种特殊的线性表,特殊之处在于它只允许在表......
  • 学习笔记#5:单调队列优化&斜率优化
    学习笔记#5:单调队列优化&斜率优化单调队列首先要搞懂什么是单调队列。单调队列是一种求区间最值问题的一种方式,与其他RSQ问题的求解方法不同的是,它更善于解决滑动窗口式的RSQ问题,一般来说,假设我们要维护最大值,则需维护一个单调递减的队列,这样队首最大,每次取队首即可。而当......
  • RabbitMQ 使用细节 → 优先级队列与ACK超时
    开心一刻今天坐在太阳下刷着手机老妈走过来问我:这么好的天气,怎么没出去玩我:我要是有钱,你都看不见我的影子老妈:你就不知道带个碗,别要边玩?我:......优先级队列说到队列,相信大家一定不陌生,是一种很基础的数据结构,它有一个很重要的特点:先进先出但......
  • 栈和队列cal
    栈与队列理论基础我想栈和队列的原理大家应该很熟悉了,队列是先进先出,栈是先进后出。那么我这里再列出四个关于栈的问题,大家可以思考一下。以下是以C++为例,使用其他编程语言的同学也对应思考一下,自己使用的编程语言里栈和队列是什么样的。C++中stack是容器么?我们使用的stack是......
  • 栈和队列labuladong
    平衡括号串(⼀)先来个简单的,⼒扣第921题「使括号有效的最少添加」:给你输⼊⼀个字符串s,你可以在其中的任意位置插⼊左括号(或者右括号),请问你最少需要⼏次插⼊才能使得s变成⼀个有效的括号串?⽐如说输⼊s="())(",算法应该返回2,因为我们⾄少需要插⼊两次把s变成"(())......
  • 彻底搞定栈和队列
    栈和队列都是C++中的一种线性数据结构,这一篇博客,我们就来学习学习关于这两个数据结构的知识栈什么是栈栈(Stack)是一种后进先出(LastInFirstOut)的线性数据结构,这种数据结构简称为LIFO表,由于其特殊性,这种数据结构经常被用于关于括号匹配以及字符串解码等问题,当然这种题目可以出......
  • P1886-单调队列【黄】
    一道普普通通的模版题,让我想起了此前做过的绿题P1725,于是运用相同的知识轻松切掉本题Code#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>#include<algorithm>#include<stack>#include<queue>#include......