Yarn ResourceManager 页面上的绿色条块(Used Resources)反映的是真实的资源占用情况吗?

过去,一直习惯于在 Yarn 的 ResourceManager 页面上,通过菜单:Cluster -> Scheduler 查看当前 Yarn 总体的资源分配状况,因为这个页面非常直观。不过,在最近一次测试中,我发现:Yarn ResourceManager 页面上的绿色条块(Used Resources)并不能如实地反映集群当前实际的资源占用情况,这一点需要注意,并且要改正一下过去养成的这一习惯了!下面是此次发现问题的案例(测试使用的是 AWS EMR 5.23,这个问题也可能和 Hadoop 版本有关,末在其他版本上测试,请注意版本问题!):

测试集群有 20 个 Worker 节点,每个节点是 16 vCore, 64 G 内存,通过配置,每个 NodeManager 获得了 60 G 内存,在一次测试中,提交了一个 Map-Reduce 作业,Map-Reduce 和 Yarn 的关键配置如下:

  {
    "Classification": "yarn-site",
    "Properties": {
      "yarn.nodemanager.resource.memory-mb": "61440",
      "yarn.scheduler.maximum-allocation-mb": "61440",
      "yarn.nodemanager.vmem-pmem-ratio": "10"
    }
  },
  {
    "Classification": "mapred-site",
    "Properties": {
      "mapreduce.map.memory.mb": "13440",
      "mapreduce.map.java.opts": "-Xmx10752m",
      "mapreduce.map.cpu.vcores": "16",
      "mapreduce.reduce.memory.mb": "7680",
      "mapreduce.reduce.java.opts": "-Xmx6144m",
      "mapreduce.reduce.cpu.vcores": "16",
      "yarn.app.mapreduce.am.resource.mb": "7680",
      "yarn.app.mapreduce.am.resource.cpu-vcores": "16"
    }
  }

在作业启动时,申请的 Container 数量是:90 个 Mapper!注意:这里的 90 个 Mapper 是按:( 61440 * 20 - 7680 ) / 13440 = 90.86,然后向下取整得到的,显然,这一算法是错误的,因为总的内存资源不是连在一起的,物理上被分隔成了20份(20个节点),只能按节点计算出每个节点可以分配的容器数,然后乘以20才对。所以:以 13440 MB 切分容器的话,每个节点只能切分出:4 个整的容器,剩余 0.57 个容器是不能被分配出来的,所以,整个集群其实最多只能切分出 80个 Map Container。

下面,我们看一下作业提交后,Yarn ResourceManager 页面上的实际信息:

在这里插入图片描述
你会看到:绿色条块是按 90 个 mapper 的规划计算的,总内存是:(1344090+7680)/(6144020) = 99.065 % = 99.1%,这就是页面上 99.1 % 的来历。但是,正如上面所分析的,实际应用获得的 map 容器只有 80 个,准确的值其实是在下面的 application 信息中给出的。

不过,如果我们点到作业里去看,这个作业总共规划的确实是 90 个 mapper,有10 个会处于 pending 状态,等现行执行的map 任务结束后,空余出container来,会继续执行剩余的10个。不过,无论如何,页面上显式99.1% 的资源占用是不对的!这会误导开发者。所以,以后还是要以下方 application 输出的信息为准!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/269038.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(Matlab)基于CNN-LSTM的多输入分类(卷积神经网络-长短期记忆网络)

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、代码实际运行结果展示: 三、部分代码展示: 四、本文完整代码数据下载: 一、程序及算法内容介绍: 基本内容: 本代码…

Matlab仿真2ASK/OOK、2FSK、2PSK、QPSK、4QAM在加性高斯白噪声信道中的误码率与归一化信噪比的关系

本文为学习所用,严禁转载。 本文参考链接 https://zhuanlan.zhihu.com/p/667382398 QPSK代码及高斯白噪声如何产生 https://ww2.mathworks.cn/help/signal/ref/butter.html 滤波器 https://www.python100.com/html/4LEF79KQK398.html 低通滤波器 本实验使用matlab仿…

毫米波RIS研究测试方案:一站式助力工程师探索高频通信未来

方案介绍 在当前科技高速发展的时代,毫米波通信技术因其高数据传输速率和大容量的潜力而备受瞩目。其中,可重构智能表面(RIS)作为一项创新技术,正在为毫米波通信系统的设计和优化带来新的可能性。为了应对这一领域的研…

Linux系统安装及管理

目录 一、Linux应用程序基础 1.1应用程序与系统命令的关系 1.2典型应用程序的目录结构 1.3常见的软件包装类型 二、RPM软件包管理 1.RPM是什么? 2.RPM命令的格式 2,1查看已安装的软件包格式 2.2查看未安装的软件包 3.RPM安装包从哪里来? 4.挂…

WebGL技术实现机械工程培训

机械工程培训的虚拟环境可以通过 WebGL 技术实现,提供沉浸式的三维体验,帮助学生学习机械结构、运动原理和装配过程。以下是开发机械工程培训虚拟环境的一般步骤,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发…

后台管理百度地图-获取位置信息

1.在输入框中输入位置获取经纬度,拿到经纬度用定点标记在地图上 2.鼠标点击地图中的位置,调用组件点击事件拿到经纬度用定点标记在地图上,删除之前的定点标记,拿到的地址赋值到输入框中, 引入百度地图: &l…

旧衣回收小程序搭建有什么优势?

今年以来,旧衣回收行业分外火热,不断有创业者进入到市场中,其中不乏有年轻人,足以可见行业的火爆。 我国是人口大国,每个人闲置的衣物加在一起的数量难以计算,旧衣回收行业具有巨大的发展空间。 此外&…

fragstats:景观指数的突变分析

作者:CSDN _养乐多_ 本文将介绍景观指数时间序列的突变分析,包括突变时间、突变频次等。以及景观指数突变分析所用的软件和 python 代码。 结果如下图所示, 图1 突变频次 图2 突变时间 文章目录 一、景观指数计算二、景观指数时间序列构建…

静态HTTP与动态内容:一场“静”与“动”的较量

嘿,小伙伴们!你们有没有遇到过这样的困惑:静态HTTP和动态内容,这俩到底有啥区别?今天,我就来给大家好好讲讲这其中的奥妙! 首先,我们来聊聊静态HTTP。这家伙就像个老实巴交的“宅男…

计算机网络概述(下)——“计算机网络”

各位CSDN的uu们你们好呀,今天继续计算机网络概述的学习,下面,让我们一起进入计算机网络概述的世界吧!!! 计算机网络体系结构 数据传输流程 计算机网络性能指标 计算机网络体系结构 两个计算机系统必须高度…

IntelliJ IDEA安装教程

IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超…

20、Qt使用QLibrary类调用动态链接库dll中的成员函数

一、功能说明 创建一个项目,里面包含两个子项目, 子项目1生成动态链接库dll,里面包含一个加法和一个减法; 子项目2是带界面的可执行文件exe,使用QLibrary类来调用子项目1的dll。 二、创建子项目1 新建项目&#x…

搭建react+ant design pro+umi 项目框架

一、 写本文的原因 我搭建reactantdumi这个框架的原始资料主要是来源于(ReactUmi4从零快速搭建中后台系统保姆级记录教程(一、项目创建及初始化)) 而我写这篇文章的本意就是用来记录我用搭建时候的步骤汇总。 二、 npm和node版…

Vue 官方周报 #125 - 强制重新渲染Vue组件的最佳方法

Hi 👋 圣诞快乐🎄🎉 如果您需要强制重新渲染Vue组件,那么您很可能会遇到Vue的响应系统问题。根据我的经验,您可能没有正确使用Vue的响应系统。 但是在某些情况下确实需要强制重新渲染组件。一个例子是当您使用与Vue的…

压力应变电桥信号隔离放大变送器差分输入变送直流模块0-10mV/0-20mV/0-±10mV/0-±20mV转0-5V/0-10V/4-20mA

主要特性 DIN11 IPO 压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号导轨安装变送模块。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。此系列模块内部嵌入了一个高效微功率的电源,向输入端和输…

Qt/C++控件设计器/属性栏/组态/可导入导出/中文属性/串口网络/拖曳开发

一、功能特点 自动加载插件文件中的所有控件生成列表,默认自带的控件超过120个。拖曳到画布自动生成对应的控件,所见即所得。右侧中文属性栏,改变对应的属性立即应用到对应选中控件,直观简洁,非常适合小白使用。独创属…

一个利用摸鱼时间背单词的软件

大家好,我是 Java陈序员。 最近进入了考试季,各种考试,英语四六级、考研、期末考等。不知道大家的英语四六级成绩怎么样呢? 记得大学时,英语四级都是靠高中学习积累的老本才勉强过关。 而六级则是考了多次&#xff…

免 费 搭 建 小程序商城,打造多商家入驻的b2b2c、o2o、直播带货商城

在数字化时代,电商行业正经历着前所未有的变革。鸿鹄云商的saas云平台以其独特的架构和先进的理念,为电商行业带来了全新的商业模式和营销策略。该平台涉及多个平台端,包括平台管理、商家端、买家平台、微服务平台等,涵盖了pc端、…

SD卡写保护怎么解除?这3个方法很实用!

“我的sd卡用了很久了,一直都可以正常使用的,但是最近不知道为什么,突然就显示sd卡写保护了。我无法存入任何数据,请问有什么方法可以解决该问题吗?” SD卡是一种常见的存储设备,被广泛应用于手机、相机、平…

HTTP分数排行榜

HTTP分数排行榜 介绍一、创建数据库二、创建PHP脚本三、上传下载分数四、测试 介绍 Unity中向服务器发送用户名和得分,并存入数据库,再讲数据库中的得分按照降序的方式下载到Unity中。 一、创建数据库 首先,我们要在MySQL数据库中建立一个…