hadoop生态圈组件之yarn

YARN最主要的思想是分离资源管理和任务调度/监控。
在这里插入图片描述
ResourceManager <-------------> ApplicationMaster <--------------->NodeManager
RM与NM之间的交流通过AM进行

Container把NM中的资源和计算分开,所以yarn实现了计算框架可插拔。

job TRacker作用:资源管理和任务调度。

yarn作用:yarn是hadoop通用资源管理平台,为各类计算框架(离线MR,在线storm,内存计算spark)提供统一资源管理和调度。

yarn功能
1、统一资源管理和调度:集群中所有节点的资源(内存、cup、磁盘、网络)抽象为Container。计算框架需要向yarn申请Container,yarn按策略对资源进行调度与Container分配。
2、资源隔离:yarn使用了轻量级资源隔离机制Cgroup进行资源隔离,避免相互干扰,一旦Container使用资源量超过阈值,即会被干掉。

yarn的部件:

ResourceManager:简称RM,全局管理计算程序的资源分配调度。主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationsManager)

Scheduler:负责根据容量、队列等条件,根据各个应用程序所需将系统中的资源分配给各个应用程序。

ApplicationsManager:简称ASM,负责管理整个系统中所有程序,包括应用程序提交、与调度器协商资源以启动APPlicationMAster,监控APPlicationMAster运行状态并在失败时重启。

NodeManger:简称NM负责各个节点的资源与任务管理,会定时向RM汇报本节点的Container使用与运行情况。同时接收并处理来自AM的Container启动、停止请求。

ApplicationMaster:简称AM,每个提交的程序都有一个AM,它负责从RM获取资源并与NM协同监控执行应用的执行。

Container:Container是yarn中的资源抽象,他封装了节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM返回的资源就是用Container表示的。yarn会为每个任务分配一个Container,且该任务只能使用该Container中的资源。

YARN运行机制:在这里插入图片描述

1、client向yarn提交应用程序 。

2、ResourceManager分配一个Container,并与对应的NodeManager通信,要求它在这个Container启动应用程序的ApplicationMaster。

3、AM先向RM注册,通过RM可以查看应用程序的运行状态,然后AM将为各个任务申请资源,并监控它的运行状态,直到运行结束 。

4、AM采用轮询的方式通过RPC协议向RM申请和领取资源。

5、AM申请到资源后与对应的NM通信,要求启动任务 。

6、NM为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后 。将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。

7、各个任务通过RPC协议向AM汇报自己的状态和进度,以让AM随时掌握各个任务的运行状态,从而可以在任务失败时重启任务 。

8、应用程序运行完毕后,AM向RM注销并关闭自己,Container资源被释放可以重用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值