第二代mapreduce框架TaskScheduleryarn
YARN编程模型
1:保证编程模型向兼容性MRv2重用MRv1编程模型数据处理引擎运行环境重写
2:编程模型与数据处理引擎
mapreduce应用程序编程接口两套:新API(mapred)旧API(mapreduce)
采用MRv1旧API编写程序直接运行MRv2
采用MRv1新API编写程序需要使用MRv2编程库重新编译并修改兼容参数 返值
3:运行环境
MRv1:JobrackerTasktracker
MRv2:YARNApplicationMaster
YARN组
yarn主要由ResourceManagerNodeManagerApplicationMasterContainer等几组件组
ResourceManager(RM)
RM全局资源管理器负责整系统资源管理配
主要由两组件组:调度器应用 程序管理器(ASM)
调度器
调度器根据容量队列等限制条件系统资源配给各运行应用程序
负责具体应用程序相关工作比监控或跟踪状态
负责重新启失败任务
资源配单位用资源容器resource Container表示
Container态资源配单位内存CPU,磁盘网络等资源封装起限定每任务资源量
调度器插拔组件用户自行设计
YARN提供种直接用调度器比fair SchedulerCapacity Scheduler等
应用程序管理器
负责管理整系统所应用程序
ApplicationMaster(AM)
用户提交每应用程序均包含AM
AM主要功能
与RM调度器协商获取资源(用Container表示)
任务进步配给内部任务
与NM通信自/停止任务
监控所任务运行状态并任务运行失败重新任务申请资源重启任务
前YARN自带两AM实现
用于演示AM编写实例程序distributedshell
用于Mapreduce程序---MRAppMaster
其计算框架应AM发比spark等
Nodemanager(NM)Container
NM每节点资源任务管理器
定向RM汇报本节点资源使用情况各Container运行状态
接收并处理自AMContainer启/停止等各种要求
ContainerYARN资源抽象封装某节点维度资源
YARN每任务配Container且改任务能使用该Container描述资源
Container同于MRv1slot态资源划单位根