hadoop YARN

YARN架构:

1)ResourceManager:RM

整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度。

处理客户端的请求:提交作业,杀死作业

 

2)NodeManager:NM

整个集群中有多个,负责自己本身节点资源管理和使用。

定时向RM汇报本节点的资源使用情况。

接收并处理来自RM的各种命令:启动Container

 

3)ApplicationMaster:AM

每一个应用程序对应一个:spark,MR...   负责应用程序的管理

为应用程序向RM申请资源(core,memory)分配给内部task

需要与NM通信:启动/停止task

 

4)Container

 封装了CPU、Memory等资源的一个容器

是一个任务运行环境的抽象

 

5)Client

提交作业

查询作业运行进度

杀死作业

 

Hadoop1.x和2.x的区别:

MapReduce 1 中,有两类守护进程控制着作业执行过程:一个jobtracker和一个或多个tasktracker,jobtracker通过调度tasktracker上运行的任务来协调所有运行在系统上的作业。

tasktracker在运行任务的同时将运行进度报告给jobtracker,jobtracker有此记录着每项作业任务的整体进度,如果其中一个任务失败,则jobtracker可以在另一个tasktracker节点上重新调度该任务。

在MapReduce 1中jobtracker同时负责作业调度和任务进度监控。而YARN中,这些职责是由不同的实体担负的。

 

YARN的优势:

1. 可扩展性:

与MapReduce 1 相比,Yarn可以在更大规模的集群上运行,因为MapReduce 1的瓶颈源自于jobtracker必须同时管理作业和任务这一事实,

而Yarn中一个应用的实例都对应着一个专门的application master,该进程在应用的持续期间运行。

 

2.可用性:

当服务守护进程失败时,通过为另一个守护进程复制接管工作所需的状态,以便其继续提供服务,从而可以获得高可用性。

然后jobtracker中大量快速变化的复杂状态,使得改进jobtracker服务获得高可用性非常困难。但在yarn中,高可用性成为了一个分而治之的问题。

 

3.多租户:

yarn最大的优点在于向MapReduce以外的其他类型分布式应用开放了hadoop,MapReduce仅仅是许多Yarn应用中的一个。

 

posted @ 2018-05-03 15:58  家迪的家  阅读(259)  评论(0编辑  收藏  举报