YARN的概念和YARN的通用应用运行机制

YARN

1) YARN(Yet Another Resource Negotiator)是集群资源管理系统

2) YARN提供请求和使用集群资源的API,因为通用性,还可以支持其他的分布式计算模式,如Spark,Storm等

集群层次框架:

Upper ApplicationPig/Hive/Crunch
ApplicationMapReduce/Spark/Tez
ComputeYARN
Storage
HDFS and HBase


通用YARN应用运行机制

角色:

resource manager 资源管理器:YARN的守护进程,管理集群资源使用

node manager 节点管理器:YARN的守护进程,启动和监控容器,运行在集群中所有节点上

container 容器:执行job进程,容器有资源限制(内存,CPU等),具体容器取决于YARN配置

在YARN运行应用步骤:


1) 首先客户端请求RM,运行一个application master

2) RM找到可以在容器中启动application master的NM,在NM启动容器,运行application master

3) 容器通过心跳机制向RM请求运行资源(内存和CPU)

4) application master运行起来之后需要做什么依赖于客户端传递的应用

    a. 简单地运算后直接返回结果给客户端

    b. 请求更多容器进行分布式计算

YARN通信手段:

YARN不提供任何手段用于应用各部分(客户端/application master/进程)通信,使用具体应用的远程通信机制(如Hadoop的RPC层)来向客户端返回状态和结果

YARN资源请求的灵活性:

1) 指定每个容器的计算机资源数量(内存和CPU)

2) 容器的本地限制要求,可以申请指定节点,机架或集群中任意位置(包含集群外)的容器

3) 可以在运行中的任意时刻请求资源,可以一开始请求所有资源(Spark);也可以动态申请,随着应用程序的运行而动态地请求(MapReduce先Map后Reduce)

应用生命期-三种模型

这里的应用指的是applicatoin master,用来处理job的YARN的应用进程

1) 一个用户作业对应一个application master(MapReduce)

2) 作业的每个工作流或者每个用户对话对应一个application master

效率高,容器可以在作业之间重用,可能缓存中间数据,Spark使用这种模型

3) 多个用户共享一个长期运行的应用

这种application master作为协调者身份运行,一个always on的application master,则无需启动新的application master,低开销,低响应延迟


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值