大数据系统资源管理YARN

Yarn系统原理

 

 

Yarn主要就是将JobTracker的两个主要功能分离成单独的组件:资源管理、任务调度/监控

RM,ResourceManager,全局管理

NM,NodeManager,节点管理

AM,ApplicationMaster,单个应用管理 Container,单个任务的资源管理

RM负责分配NM给AM,AM负责把任务发送到NM,每个任务在NM中以Container形式管理

ResourceManager RM

它是Yarn的核心组件

接收客户端任务请求,接收和监控工作节点(NM)的资源情况汇报,负责资源的分配与调度,启动和监控AppMstr

ResourceManager包含两个组件

Scheduler(调度器):通过资源队列将资源分配给一个应用Application;它是先进先出调度,可以包含多个调度队列。

Applications Manager AsM:应用程序管理,负责管理系统中所有的job;包括job的提交、与调度器协商资源来启动ApplicationMaster(AM)和监控(AM)运行状态,并且处理出错情况。

NodeManager NM

是集群中的一个节点管理器

负责节点内Container状态的维护,并向RM保持心跳HeartBeat

Application Master AM

负责一个Job生命周期内的所有工作

AM是一个app的主进程,运行在某个Node上,AM会分派出很多任务Task 每个Task以Container的形式运行

Container

分配给一个Job的资源容器,资源包括:内存,CPU,磁盘,网络等等。

Container功能是在OS核心上构建虚拟执行环境,共享HostOS的基础服务,在Hadoop2中,Container一般是指Java虚拟机的内存隔离,在Hadoop3种,Container支持用户自定义资源类型,不再局限CPU和内存的资源管理

Job分解为MapTask和ReduceTask,因为有Container隔离,使得MapTask和ReduceTask可以在一台服务器上混合运行

Yarn的运行架构

1.客户端向RM(AsM)提交一个job

2.RM(AsM)分配一个NM,并通知NM为这个job做初始化

3.NM创建Container并启动job相应的AM,然后通知RM

4.RM和AM交互,AM获取相应的资源,如果在同一个NM上获取资源不足,AM可以要求RM在其他NM创建Container并装载资源。

5.AM启动MapTask和ReduceTask进程,执行任务

6.任务运行中,AM定期向AsM汇报,跟踪任务状态

 

posted @ 2022-06-16 09:51  小蟋帅  阅读(183)  评论(0编辑  收藏  举报