Yarn架构

Yarn架构(Master-Slave)

进程角色:

  • resourceManager(Master):任务调度和集群资源管理。

  • nodeManager(Slave):单个节点的资源管理。

  • applicationMaster:为任务程序申请资源,任务程序运行状态监控、错误恢复。

  • container:对运行环境资源的抽象,是资源分配和使用的单元,包括cpu、内存、环境变量等资源。

  • client:发起任务的请求。

任务提交流程 :

用户将作业提交到client,client将任务提交给resourceManager,resourceManager选取一个nodeManager来启动一个applicationMaster,这个applicationMaster根据当前作业反过来向resourceManager申请计算资源,resourceManager将可用资源以一个个container的形式返给applicationMaster,applicationMaster根据各container的位置等属性,将计算任务发送到相应nodeManager,由nodeManager分配container并执行,每个container向applicationMaster同步任务执行状态,整个作业所涉及的每个container中的任务都全部执行完毕后,applicationMaster将结果写入目的地,同时applicationMaster将作业完毕的消息反馈给resourceManager,resourceManager将本次作业申请的container资源全部回收,供后续作业申请。

上一篇:Codeforces Round #619 (Div. 2)


下一篇:ZooKeeper 原理及其在 Hadoop 和 HBase 中的应用