大数据学习——yarn

Yarn

Yarn 是hadoop2.0当中 的资源管理系统,为各类应用程序进行资源管理和调度。

大数据学习——yarn
我们可以看出.在hadoop2.0之后,在HDFS和MapReduce之间有了Yarn。就可以进行资源的管理,可以做更多的工作。

Yarn产生背景

mapreduce在批处理任务方面的效果较好,但是也只在批处理任务方面效果好了,

  • 扩展性和可靠性差,JobTracker成为瓶颈,NameNode单点故障造成的。
  • 扩展性差,难以支持mr之外的计算。
  • 资源利用率低
    mr的多计算框架数据共享困难,我们希望有实时计算框架(storm)和内存计算框架(spark)。
    在这种背景下,我们产生了YARN。
    大数据学习——yarn

YARN框架

大数据学习——yarn
Client:向整个集群发起任务,提交app请求。
ResourceManager:接受app请求。在master上。
看绿色和橙色的椭圆,在slave上做了一个app-master,该master管理指定的发送过来的的app任务,在结点当中开辟container(本身节点或其他节点),来计算该任务,使得资源利用率更高

Yarn框架

Yarn构成

  • ResourceManager(master)
  • NodeManager(slave)
  • ApplicationMaster(slave)
  • Container

Yarn总体上依然是Master/Slave结构

  • ResourceManager为Master,NodeManager为Slave
  • ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。
  • 当用户提交一个应用请求的时候,需要提供一个用以跟踪和管理这个请求的ApplicationMaster,它负责向RescourceManager申请资源,并要求NodeManager启动可以占用一定资源的任务,不同的ApplicationManager会被分配到不同的节点上,即他们之间不会互相影响。

大数据学习——yarn

Yarn处理流程

  1. client向ResourceManager发送请求
  2. ResourceManager 指定一个NodeManager ,
  3. 该NodeManager开辟一个Container作为ApplicationMaster
  4. ApplicationMaster向ResoureceManager请求资源(自身节点或者其他节点上的资源)。
  5. ApplicationMaster利用资源,开始执行Task.

以Yarn为核心的生态系统

大数据学习——yarn