赞
踩
Yarn分布式集群操作系统
Apache Hadoop YARN 是 apache Software Foundation Hadoop的子项目,为分离Hadoop2.0资源管理和计算组件而引入。YARN的诞生缘于存储于HDFS的数据需要更多的交互模式,不单单是MapReduce模式。Hadoop2.0 的YARN 架构提供了更多的处理框架,不再强迫使用MapReduce框架。
组件名
|
作用
|
ResourceManager
|
是Master上一个独立运行的进程,负责集群统一的资源管理、调度、分配等等;
|
ApplicationManager
|
相当于这个Application的监护人和管理者,负责监控、管理这个Application的所有Attempt在cluster
中各个节点上的具体运行,同时负责向Yarn ResourceManager申请资源、返还资源等;
|
NodeManager
|
是Slave上一个独立运行的进程,负责上报节点的状态(磁盘,内存,cpu等使用信息);
|
Container
|
是yarn中分配资源的一个单位,包涵内存、CPU等等资源,YARN以Container为单位分配资源;
|
(1) 抽象解读:
具体解读:
Schedule调度器会根据容量、队列等限制条件,对应用程序的资源需求进行资源分配。(调度器有三种:先进先出调度器,容量调度器和均分调度器)
ApplicationManager则主要负责管理整个系统中所有应用程序,接受job请求,为应用分配一个Container来运行ApplicationMaster并管理,它和ApplicationMaster的区别是Master运行在NodeManger上的,而ApplicationManager是ResourceManager内部的一个组件。
(2)具体工作过程如下:
总结:
FIFO Scheduler(先进先出调度器),
Capacity Scheduler(容量调度器),
Fair Scheduler(均分调度器)
三种调度器区别
hadoop1.x使用的默认调度器就是FIFO。FIFO采用队列方式将一个一个job任务按照时间先后顺序进行服务,比较好理解,哪个任务先进来就先完成它,在继续下一个任务。
hadoop2.x使用的默认调度器是Capacity Scheduler。Capacity Schedule调度器以队列为单位划分资源,队列有独立的资源,队列的结构和资源是可以进行配置的。
Fair Scheduler调度器会为所有job任务动态调整系统资源,且是平均分配的形式,让任务公平的共享集群资源
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。