【MR】剖析YARN中uber模式
2017-07-04 12:28
302 查看
【MR】剖析YARN中uber模式
在看《Hadoop权威指南》时,看到关于uber模式的介绍一,什么是uber模式
Uber模式简单地可以理解成JVM重用,该模式是Hadoop2.x开始引入的;以Uber模式运行MR作业,所有的Map任务和Reduce任务将会在Application Master所在的容器(container)中运行,也就是说整个MR作业运行的过程只会启动AM container,因为不需要启动mapper containers和 reducer containers。
这是一种针对MR小作业的优化机制。即如果作业足够小,则所有任务在一个JVM中完成要比为每个任务启动一个JVM更划算。
那什么任务算是小任务?
默认情况下,小任务就是小于10个mapper且只有1个reducer,并且输入分片大小小于一个HDFS块的大小。
二,uber模式原理
Yarn的默认配置会禁用uber组件,即不允许JVM重用。
首先,Resource Manager里的Application Manager会为每一个application(比如一个用户提交的MapReduce Job)在NodeManager里面申请一个container,然后在该container里面启动一个Application Master。container在Yarn中是分配资源的容器(内存、cpu、硬盘等),它启动时便会相应启动一个JVM。此时,Application Master便陆续为application包含的每一个任务(Map t任务和Reduce任务)向Resource Manager申请一个container。等每得到一个container后,便要求该container所属的NodeManager将此container启动,然后就在这个container里面执行相应的任务。等这个任务执行完后,这个container便会被NodeManager收回,而container所拥有的JVM也相应地被退出。在这种情况下,可以看出每一个JVM仅会执行一个任务, JVM并未被重用。
当uber功能被启用时
首先,Resource Manager里的Application Manager会为每一个application在NodeManager里面申请一个container,然后在该container里面启动一个Application Master。containe启动时便会相应启动一个JVM。此时,如果uber功能被启用,并且该application被认为是一个“小的application”,那么Application Master便会将该application包含的每一个任务依次在这个container里的JVM里顺序执行,直到所有任务被执行完。这样Application Master便不用再为每一个任务向Resource Manager去申请一个单独的container,最终达到了JVM重用(资源重用)的目的。
三,uber模式配置
在yarn-site.xml文件中,改变一下几个参数的配置即可启用uber模式。
mapreduce.job.ubertask.enable;默认值false;true启用user功能。
uber的默认配置
mapreduce.job.ubertask.maxmaps 最大map数,默认值:9
mapreduce.job.ubertask.maxreduces 最大reduce数,默认值:1
相关文章推荐
- YARN/MRv2 MRAppMaster深入剖析—作业恢复
- YARN MapReduce MRAppMaster-剖析
- YARN/MRv2 MRAppMaster深入剖析—ContainerAllocator分析
- YARN/MRv2 MRAppMaster深入剖析—推测执行机制
- Spark内核源码深度剖析:基于Yarn的两种提交模式深度剖析
- Spark内核源码深度剖析:基于Yarn的两种提交模式深度剖析
- YARN/MRv2 MRAppMaster深入剖析—推测执行机制
- 【MR】剖析 YARN 框架
- Spark On Yarn的两种模式yarn-cluster和yarn-client深度剖析
- YARN/MRv2 MRAppMaster深入剖析—ContainerLauncher分析
- Yarn源码分析之MRAppMaster:作业运行方式Local、Uber、Non-Uber
- 【Hadoop】YARN 原理、MR本地&YARN运行模式
- Spark2.2 基于Yarn的两种提交模式剖析图解
- WCF技术剖析之二十一:WCF基本异常处理模式[下篇]
- 单例模式深入剖析
- 【剖析设计模式】——OO与设计原则
- WCF技术剖析之二十一:WCF基本异常处理模式[中篇]
- 回调与并发: 通过实例剖析WCF基于ConcurrencyMode.Reentrant模式下的并发控制机制
- 手机支付商业模式剖析
- [原创]WCF技术剖析之二十一:WCF基本异常处理模式[下篇]