转载

YARN

YARN

近期读了论文, Apache Hadoop YARN:Yet Another Resource Negotiator

收益匪浅,故写了一篇简单的总结,其中难免有错误,望指正。有消息

看到,会立即回复。

上图是yarn的的框架图,解释一下三个主要的守护进程

Resource Manager(RM), Node Manager(NM), Application Master(AM)

  • Resource Manager

    central and global view of the cluster resource

    Resource Mange通过心跳机制和集群种Node Manager通信,从而获得整个集群的资源状态

    同时Resource Manger也处理Application Master的资源请求,分配相应的lease。

  • Node Manager

    Node Manger主要的任务跟container有关,比如启动container,监控container的资源使用

    情况,container执行的任务的状态等,将这些信息汇报给Resource Manger

  • Application Master

    The AM periodically heartbeats to the RM to affirm its liveness and to update the record of its demand.

    Application Master是跟Application一一对应的,主要的功能包括想RM请求资源,

    监控container种task的执行情况

YARN下应用的执行步骤

  • MapReduce框架接受用户提交的作业,并为其分配一个新的应用ID,并将应用的定义

    打包上传到HDFS上用户的应用缓存目录中,然后提交此应用给ResourceManager

  • ResourceManger获取执行ApplicationMaster所需的一个container,并在其上

    启动ApplicationMaster.

  • ApplicationMaster计算应用所需的资源,并发送资源请求到ResourceManager

  • Resource Manager 会根据自己的资源分配策略满足应用的需求。响应时,Resource Manager 会把可用的资源绑定到一个 Token 上并返回给 Application Master

  • Application Master 获得 Token 后便会利用该 Token 向可用的 Node Manager 发出容器启动请求

  • NodeManager启动容器并运行任务。

  • ApplicationMaster监控container上任务执行情况。

  • ApplicationMaster反馈作业的执行状态信息和完成状态。

正文到此结束
本文目录