×

yarn

yarn 硬件配置要求?英语yarn怎么读

admin admin 发表于2022-05-26 15:55:05 浏览151 评论0

抢沙发发表评论

yarn 硬件配置要求


、相关配置情况

关于内存分配与管理,主要涉及到了ResourceManage、ApplicationMatser、NodeManager这几个概念,相关的优化也要紧紧围绕着这几方面来开展。这里还有一个Container的概念,现在可以先把它理解为运行map/reduce task的容器,后面有详细介绍。

1.1 RM的内存资源配置, 配置的是资源调度相关 

RM1:yarn.scheduler.minimum-allocation-mb=1G #单个容器可申请的最小内存RM2:yarn.scheduler.maximum-allocation-mb=4G #单个容器可申请的最大内存l RM2 必须大于等于 RM1l 一旦设置,不可动态改变-yarn

1.2 NM的内存资源配置,配置的是硬件资源相关

NM1:yarn.nodemanager.resource.memory-mb=16G #节点最大可用内存NM2:yarn.nodemanager.vmem-pmem-ratio=2.1 #虚拟内存率,默认2.1l NM1 必须大于 RM2 l 使用 RM1 和 NM1 可以计算一个节点最大Container数量:max(Container)=NM1/RM1= 16/1 =16 个l 一旦设置,不可动态改变-yarn

1.3 AM内存配置相关参数,配置的是 MR 任务相关

AM1:mapreduce.map.memory.mb=1.5G #分配给 map Container 的内存大小AM2:mapreduce.reduce.memory.mb=3G #分配给 reduce Container 的内存大小l AM1、AM2 必须在 RM1和 RM2 之间l AM2 最好是 AM1 的两倍l 这两个值可以在启动时改变AM3:mapreduce.map.java.opts=-Xmx 1G #运行map任务的jvm参数,如-Xmx,-Xms等选项AM4:mapreduce.reduce.java.opts=-Xmx 2G #运行reduce任务的jvm参数,如-Xmx,-Xms等选项l AM3 必须小于 AM1,AM4 必须小于 AM2 -yarn

二、对于这些配置概念的理解

上图中RM的两个参数分别1024MB和8192MB,分别表示分配给AM map/reduce Container的最大值和最小值。AM1:mapreduce.map.memory.mb=1536MB,表示AM要为 map Container 申请1536MB资源,但RM实际分配的内存却是2048MB,具体原因请参考最后的 “规整化因子介绍”AM3:mapreduce.map.java.opts=-Xmx 1024m,表示 map 任务的jvm 最大堆内存为1024MB,因为 map 任务要运行在 Container 中,所以这个参数的值略微小于 AM1 这个值。NM2:yarn.nodemanager.vmem-pmem-ratio=2.1,这表示 NodeManager 可以分配给 map/reduce Container 2.1 倍的虚拟内存,按照上面的配置,实际分配给map Container容器的虚拟内存大小为 2048*2.1=3225.6MB,若实际用到的内存超过这个值,NM就会kill掉这个map Container,任务执行过程就会出现异常。AM2:mapreduce.reduce.memory.mb=3072MB,表示分配给 reduce Container 的容器大小为 3072MB,而map Container的大小分配的是1536MB,从这也看出,reduce Container容器的大小最好是map Container大小的两倍。NM1:yarn.nodemanager.resource.memory-mb=24576MB,这个值表示节点分配给NodeManager的可用内存,也就是节点用来执行yarn任务的内存大小。这个值要根据实际服务器内存大小来配置,比如我们hadoop集群机器内存是128GB,我们可以分配其中的80%给yarn,也就是102GB。-yarn

三、关于任务提交过程

3.1 任务提交过程

步骤1:用户提交 Job 到ResourceManager步骤2:ResourceManager 为 ApplicationMaster 申请资源,然后在一个NodeManager 上启动 ApplicationMaster步骤3:ApplicationMaster 与 ResourceManager通信,为要执行的任务申请资源,然后在相应的 NodeManager 上启动对应的任务。步骤4:所有任务运行完成后,ApplicationMaster 向 ResourceManager 注销,整个应用程序运行结束。-yarn

3.2 关于Container

(1) Container是YARN中资源的抽象,它封装了某个节点上一定量的资源(CPU和内存两类资源)。它跟Linux Container没有任何关系,仅仅是YARN提出的一个概念(从实现上看,可看做一个可序列化/反序列化的Java类)。(2) Container的申请由ApplicationMaster向 ResourceManager申请,由 ResourceManager中的 ResourceScheduler异步分配给 ApplicationMaster;(3) Container的运行由ApplicationMaster向资源所在的NodeManager发起的,Container运行时需提供内部执行的任务命令(可以使任何命令,比如java、Python、C++进程启动命令均可)以及该命令执行所需的环境变量和外部资源(比如词典文件、可执行文件、jar包等)。另外,一个应用程序所需的Container分为两大类,如下:(1) 运行ApplicationMaster的Container:这是由ResourceManager(向内部的资源调度器)申请和启动的,用户提交应用程序时,可指定唯一的ApplicationMaster所需的资源;(2) 运行各类任务的Container:这是由ApplicationMaster向ResourceManager申请的,并由ApplicationMaster与NodeManager通信以启动之。以上两类Container可能在任意节点上,它们的位置通常而言是随机的,即ApplicationMaster可能与它管理的任务运行在一个节点上。Container是YARN中最重要的概念之一,懂得该概念对于理解YARN的资源模型至关重要,望大家好好理解。注意:如下图,map/reduce task是运行在Container之中的,所以上面提到的mapreduce.map(reduce).memory.mb大小都大于mapreduce.map(reduce).java.opts值的大小。-yarn

四、HDP平台参数调优建议

根据上面介绍的相关知识,我们就可以根据我们的实际情况作出相关参数的设置,当然还需要在运行测试过程中不断检验和调整。以下是hortonworks给出的配置建议:


英语yarn怎么读


对的。
Yarn Dyed Fabric
When a fabric is yarn dyed the color is placed in the yarn or threads before weaving as opposed to the color being printed on the fabric after being woven.
-yarn

yarn是如何解决高可用问题的






摘要
YARN 的高可用:





ResourceManager : 基于Zookeeper 实现高可用机制,避免单点故障。





NodeManager: 执行失败之后,ResourceManager 将失败任务告诉对应的ApplicationMaster , 由ApplicationMaster 来决定如何处理失败的任务。





ApplicationMaster: 执行失败之后,由ResourceManager 负责重启;ApplicationMaster 需处理内部的容错问题,并保存已经运行完成的Task , 重启后无需重新运行。
-yarn





作为通用的、统一的资源管理系统,YARN可以:





1、同时运行长应用程序(比如Service, HTTP Server)





2、运行短应用程序(MapReduce job、Spark job 等等)





在引入了YARN之后,可以在YARN上运行各种不同框架的作业:





离线计算框架:MapReduce





流式计算框架:Storm





内存计算框架:Spark







咨询记录 · 回答于2021-10-13










yarn是如何解决高可用问题的










YARN 的高可用:










ResourceManager : 基于Zookeeper 实现高可用机制,避免单点故障。










NodeManager: 执行失败之后,ResourceManager 将失败任务告诉对应的ApplicationMaster , 由ApplicationMaster 来决定如何处理失败的任务。










ApplicationMaster: 执行失败之后,由ResourceManager 负责重启;ApplicationMaster 需处理内部的容错问题,并保存已经运行完成的Task , 重启后无需重新运行。
-yarn










作为通用的、统一的资源管理系统,YARN可以:










1、同时运行长应用程序(比如Service, HTTP Server)










2、运行短应用程序(MapReduce job、Spark job 等等)










在引入了YARN之后,可以在YARN上运行各种不同框架的作业:










离线计算框架:MapReduce










流式计算框架:Storm










内存计算框架:Spark