广告
返回顶部
首页 > 资讯 > 数据库 >yarn-site.xml 配置介绍
  • 173
分享到

yarn-site.xml 配置介绍

yarn-site.xml配置介绍 2021-10-23 20:10:18 173人浏览 无得
摘要

yarn-site.xml 配置介绍yarn.scheduler.minimum-allocation-mb yarn.scheduler.maximum-allocation-mb说明:单个容器可申请的最小与最大内存,应用在运行

yarn-site.xml 配置介绍

yarn-site.xml 配置介绍

yarn.scheduler.minimum-allocation-mb

yarn.scheduler.maximum-allocation-mb

说明:单个容器可申请的最小与最大内存,应用在运行申请内存时不能超过最大值,小于最小值则分配最小值,从这个角度看,最小值有点想操作系统中的页。最小值还有另外一种用途,计算一个节点的最大container数目注:这两个值一经设定不能动态改变(此处所说的动态改变是指应用运行时)。

默认值:1024/8192

yarn.scheduler.minimum-allocation-vcores

yarn.scheduler.maximum-allocation-vcores

参数解释:单个可申请的最小/最大虚拟CPU个数。比如设置为1和4,则运行MapRedce作业时,每个Task最少可申请1个虚拟CPU,最多可申请4个虚拟CPU。

默认值:1/32

yarn.nodemanager.resource.memory-mb

yarn.nodemanager.vmem-pmem-ratio

说明:每个节点可用的最大内存,RM中的两个值不应该超过此值。此数值可以用于计算container最大数目,即:用此值除以RM中的最小容器内存。虚拟内存率,是占task所用内存的百分比,默认值为2.1倍;注意:第一个参数是不可修改的,一旦设置,整个运行过程中不可动态修改,且该值的默认大小是8G,即使计算机内存不足8G也会按着8G内存来使用。

默认值:8G /2.1

yarn.nodemanager.resource.cpu-vcores

参数解释:NodeManager总的可用虚拟CPU个数。

默认值:8


AM内存配置相关参数,此处以mapReduce为例进行说明(这两个值是AM特性,应在mapred-site.xml中配置),如下:
mapreduce.map.memory.mb
mapreduce.reduce.memory.mb
说明:这两个参数指定用于MapReduce的两个任务(Map and Reduce task)的内存大小,其值应该在RM中的最大最小container之间。如果没有配置则通过如下简单公式获得:
max(MIN_CONTAINER_SIZE, (Total Available RAM) / containers))
一般的reduce应该是map的2倍。注:这两个值可以在应用启动时通过参数改变;

AM中其它与内存相关的参数,还有JVM相关的参数,这些参数可以通过,如下选项配置:
mapreduce.map.java.opts
mapreduce.reduce.java.opts
说明:这两个参主要是为需要运行JVM程序(java、Scala等)准备的,通过这两个设置可以向JVM中传递参数的,与内存有关的是,-Xmx,-Xms等选项。此数值大小,应该在AM中的map.mb和reduce.mb之间。

我们对上面的内容进行下总结,当配置Yarn内存的时候主要是配置如下三个方面:每个Map和Reduce可用物理内存限制;对于每个任务的JVM对大小的限制;虚拟内存的限制;

下面通过一个具体错误实例,进行内存相关说明,错误如下:
Container[pid=41884,containerID=container_1405950053048_0016_01_000284] is running beyond virtual memory limits. Current usage: 314.6 MB of 2.9 GB physical memory used; 8.7 GB of 6.2 GB virtual memory used. Killing container.
配置如下:

   
        yarn.nodemanager.resource.memory-mb
        100000
   

   
        yarn.scheduler.maximum-allocation-mb
        10000
   

   
        yarn.scheduler.minimum-allocation-mb
        3000
   

   
        mapreduce.reduce.memory.mb
        2000
   




通过配置我们看到,容器的最小内存和最大内存分别为:3000m和10000m,而reduce设置的默认值小于2000m,map没有设置,所以两个值均为3000m,也就是log中的“2.9 GB physical memory used”。而由于使用了默认虚拟内存率(也就是2.1倍),所以对于Map Task和Reduce Task总的虚拟内存为都为3000*2.1=6.2G。而应用的虚拟内存超过了这个数值,故报错 。解决办法:在启动Yarn是调节虚拟内存率或者应用运行时调节内存大小.

mapred-site.xml

 

 

在上Yarn的框架管理中,无论是AM从RM申请资源,还是NM管理自己所在节点的资源,都是通过container进行的。Container是Yarn的资源抽象,此处的资源包括内存和cup等。下面对container,进行比较详细的介绍。为了是大家对container有个比较形象的认识,首先看下图:



从上图中我们可以看到,首先AM通过请求包ResourceRequest从RM申请资源,当获取到资源后,AM对其进行封装,封装成ContainerLaunchContext对象,通过这个对象,AM与NM进行通讯,以便启动该任务。下面通过ResourceRequest、container和ContainerLaunchContext的protocol
ResourceRequest结构如下:

    message ResourceRequestProto {
    optional PriorityProto priority = 1; // 资源优先级
    optional string resource_name = 2; // 期望资源所在的host
    optional ResourceProto capability = 3; // 资源量(mem、cpu)
    optional int32 num_containers = 4; // 满足条件container个数
    optional bool relax_locality = 5 ; //default = true;
    }


对上面结构进行简要按序号说明:
2:在提交申请时,期望从哪台主机上获得,但最终还是AM与RM协商决定;
3:只包含两种资源,即:内存和cpu,申请方式:
注:1、由于2与4并没有限制资源申请量,则AP在资源申请上是无限的。2、Yarn采用覆盖式资源申请方式,即:AM每次发出的资源请求会覆盖掉之前在同一节点且优先级相同的资源请求,也就是说同一节点中相同优先级的资源请求只能有一个。

container结构:

    message ContainerProto {
    optional ContainerIdProto id = 1; //container id
    optional NodeIdProto nodeId = 2; //container(资源)所在节点
    optional string node_Http_address = 3;
    optional ResourceProto resource = 4; //分配的container数量
    optional PriorityProto priority = 5; //container的优先级
    optional hadoop.common.TokenProto container_token = 6; //container token,用于安全认证
    }


注:每个container一般可以运行一个任务,当AM收到多个container时,将进一步分给某个人物。如:MapReduce

ContainerLaunchContext结构:

    message ContainerLaunchContextProto {
    repeated StringLocalResourceMapProto localResources = 1; //该Container运行的程序所需的在资源,例如:jar
    optional bytes tokens = 2;//Security模式下的SecurityTokens
    repeated StringBytesMapProto service_data = 3;
    repeated StringStringMapProto environment = 4; //Container启动所需的环境变量
    repeated string command = 5; //该Container所运行程序的命令,比如运行的为java程序,即$JAVA_HOME/bin/java org.ourclassrepeated ApplicationACLMapProto application_ACLs = 6;//该Container所属的Application的访问控制列表
    }


下面结合一段代码,仅以ContainerLaunchContext为例进行描述(本应该写个简单的有限状态机的,便于大家理解,但时间不怎么充分):

申请一个新的ContainerLaunchContext:

    ContainerLaunchContext ctx = Records.newRecord(ContainerLaunchContext.class);
              填写必要的信息:
    ctx.setEnvironment(...);
    childRsrc.setResource(...);
    ctx.setLocalResources(...);
    ctx.setCommands(...);
    启动任务:
    startReq.setContainerLaunchContext(ctx);



最后对container进行如下总结:container是Yarn的资源抽象,封装了节点上的一些资源,主要是CPU与内存;container是AM向NM申请的,其运行是由AM向资源所在NM发起的,并最终运行
的。有两类container:一类是AM运行需要的container;另一类是AP为执行任务向RM申请的。


每个slave可以运行

map的数据<=yarn.nodemanager.resource.memory-mb/mapreduce.map.memory.mb,

reduce任务的数量<=yarn.nodemanager.resource.memory-mb/mapreduce.reduce.memory.mb

您可能感兴趣的文档:

--结束END--

本文标题: yarn-site.xml 配置介绍

本文链接: https://www.lsjlt.com/news/3809.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • yarn-site.xml 配置介绍
    yarn-site.xml 配置介绍yarn.scheduler.minimum-allocation-mb yarn.scheduler.maximum-allocation-mb说明:单个容器可申请的最小与最大内存,应用在运行...
    99+
    2021-10-23
    yarn-site.xml 配置介绍
  • GNS3 配置介绍
    常用配置图文   list可以查看到所有设备的端口信息 telnet 127.0.0.1 2002 D:\progra~1\GNS3\SecureCRT\SecureCRT.EXE /script D:\progra~1\GN...
    99+
    2023-01-31
  • nginx介绍及配置
    Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx的特点是占用内存少,并发能力...
    99+
    2023-09-09
    nginx
  • Yarn的安装与使用详细介绍
    在官方介绍里有这么一句话: Yarn is a package manager for your code. It allows you to use and share code with other d...
    99+
    2022-06-04
    详细介绍 Yarn
  • hadoop 2.2.X 配置参数说明:hbase-site.xml
    <!--Mon Aug 19 12:45:45 2013-->  <configuration>    <property>   ...
    99+
    2022-10-18
  • Zabbix安装配置介绍
    Zabbix  server安装   准备服务器Ip为192.168.1.190  用户名root 密码 yicha.123准备运行环境及相应的软件软件清单...
    99+
    2022-10-18
  • 华硕x402c配置介绍
    华硕x402c配置:采用清新时尚的黑白红搭配,14寸的显示屏大小适中,处理器方面采用i3 3271U处理器,搭配4G内存及500G的硬盘,足够应付日常办公、娱乐应用。电脑自从进入我们的生活之后,给我们的生活带来了极大的便利。电脑的类型有 平...
    99+
    2023-07-10
  • Apache介绍及常用配置
    Apache是一款开源的Web服务器软件,也是目前世界上使用最广泛的Web服务器软件之一。它能够处理静态文件和动态内容,并且支持多种...
    99+
    2023-09-21
    Apache
  • NAT介绍及命令配置
    NAT 一、NAT介绍1、NAT背景2、分类3、工作原理4、工作过程 二、NAT基础配置1、建立拓扑2、配置IP3、全局模式和接口模式下配置静态NAT4、配置动态NAT5、配置NAPT6、...
    99+
    2023-10-08
    网络 智能路由器 服务器
  • phpmyadmin配置的详细介绍
    本篇内容主要讲解“phpmyadmin配置的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“phpmyadmin配置的详细介绍”吧!  phpmyadmi...
    99+
    2022-10-18
  • DHCP介绍及H3C配置DHCP
    1.DHCP引入(1)简介DHCP(动态主机设置协议)是一个局域网的网络协议,使用UDP协议工作,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。...
    99+
    2023-01-31
    DHCP H3C
  • AndroidStudio kotlin配置详细介绍
    AndroidStudio kotlin配置安装插件File -> Settings -> Plugins -> Browse repositories -> 搜索 kotlin gradle添加依赖Module的b...
    99+
    2023-05-31
    android kotlin roi
  • Nginx的安装配置介绍
    这篇文章主要介绍“Nginx的安装配置介绍”,在日常操作中,相信很多人在Nginx的安装配置介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Nginx的安装配置介绍”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-04
  • webpack配置文件和常用配置项介绍
    1、安装webpack 1.全局安装webpack:npm install webpack -g 或者转化了cnpm则将npm改为cnpm进行安装 2.进行初始化建立package.json文件记录插件,命...
    99+
    2022-06-04
    配置文件 常用 webpack
  • zabbix配置文件作用介绍
    一、配置文件类型 zabbix_server配置文件:zabbix_server.conf zabbix_proxy配置文件:zabbix_proxy.conf zabbix-agentd配置文件:zabb...
    99+
    2022-10-18
  • SpringCloudFeign配置应用详细介绍
    目录前言1、Feign简介2、Feign配置应用前言 服务消费者调用服务提供者的时候使用RestTemplate技术 存在不便之处: 拼接urlrestTmplate.getFor...
    99+
    2022-11-13
  • Ubuntu Grub的配置参数介绍
    本篇文章为大家展示了Ubuntu Grub的配置参数介绍,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。GRUB是利用其配置文件方式来工作的,要对GRUB进行配置,只需要修改/boot/grub/gr...
    99+
    2023-06-16
  • 最低win10配置要求介绍
    很多朋友在自己组装电脑的时候由于预算不足,想要组装一台能够运行win10系统流畅的低配电脑,这个时候就要考虑到win10系统配置的要求了,下面就和大家讲讲电脑装win10最低配置吧。1、【处理器】:Win10系统的安装要求电脑的处理器运行速...
    99+
    2023-07-10
  • Vue简明介绍配置对象的配置选项
    目录一、methods二、computer计算属性三、watch四、filter一、methods 一般事件调用的函数都会在methods函数里面属性进行定义,在methods属性进...
    99+
    2022-11-13
  • Node.js包管理器Yarn的入门介绍与安装
    前言 这两天大家有没有都被Yarn悄悄刷了屏,最近Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm 。为了跟上 Javascript 这股潮 流的脚步,大概的浅尝了一下这个...
    99+
    2022-06-04
    管理器 入门 Node
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作