目录
YARN简介
一、剖析YARN应用运行机制
1、资源请求---分配机制
2、应用生命期---工作模式
二、 YARN与MapReduce 1相比
yarn的优点:
- 可扩展性scalability:和MapReduce1相比,yarn可以在更大的集群上运行。是以前的一倍以上。
- 可用性availability:HA
- 利用率utilization:精细化的资源管理
- 多租户multitenancy:除了可以在Hadoop上运行MapReduce,也可以运行其他的分布式计算框架:如spark
三、 YARN中的调度 (默认的是容量调度器)
在使用的时候,我们可以提前设定一些队列,并设定队列占用系统的资源使用情况,不同的队列可以使用不同的系统调度算法。
在使用容量调度器的时候:
通过属性:mapreduce.job.queuename来指定应用使用哪个队列,没有指定的话,会分配到一个名为“default”的默认队列中;
在使用公平调度器的时候:
启用需要在yarn-site.xml中设置;
基于规则来设定应用会分配到哪个队列中;
1、调度器的分类
2、容量调度器配置
简单来说就是可以根据应用的资源使用情况分别建立几个对应特性的队列,每个队列分配一个最大集群资源的占用限度(所有的队列资源和不能超过集群的全部资源),正常情况下,每个类型的任务都在各自分配的队列中运行,使用集群分配给队列的资源,但是也允许,当一个队列的资源不够用的情况下可以使用集群的空闲资源(包括集群分配给其他队列的资源以及集群没有分配的资源)。
3、公平调度器配置
简单来说其原理就是,在集群中只有一个任务时,会占用集群的全部资源,而当有两个类型(也可以理解为两个队列)的任务时各占一半。基本是,每个类型的任务均分系统的资源,如果类型下面再细分子类型的话会再均分该父类型下的资源。
队列放置就是给应用放到哪个队列中去执行
4、延迟调度
5、主导资源公平性
为什么B分配的不是2/3而是1/2?
参考:
Hadoop权威指南.大数据的存储与分析.第4版---第4章 关于YARN