分布式资源管理框架YARN的运行流程

YARN的运行流程

  1. client 端 向 ResourceManager 提交一个任务 jar包
  2. ResourceManager 通过心跳机制连接获取NodeManager 资源的使用情况
  3. ResourceManager 选定NodeManager 来分配资源容器 container (CPU,内存) 主要是为了启动ApplicationMaster
  4. 运行 ApplicationMaster : 启动ApplicationMaster , ApplicationMaster 会向ResourceManager 注册,client端 与Resource进行连接,找到ApplicationMaster,client直接可以和ApplicationMaster 通讯 ,ApplicationMaster 里面能够管理 所有的MapReduce的应用程序 ,client端能够进行实时监控各个MapReduce程序的运行状态进度
  5. ApplicationMaster 向ResourceManager注册,进行请求分配资源 ,MapReduce1的所有资源,ResourceManager 找到NodeManager 分配container 列表 指向NodeManager 所在的节点
  6. ApplicationMaster ---->各个节点 container —> 各个节点 NodeManager 启动container 容器,n多个MapReduce相应启动
  7. ApplicationMaster可以监听和管理在容器中的MapReduce应用程序
  8. container 被回收 NodeManager
    分布式资源管理框架YARN的运行流程_第1张图片
    分布式资源管理框架YARN的运行流程_第2张图片
    YARN 工作流程
    当用户向YARN中提交一个应用程序后,YARN将分两个阶段运行该应用程序
    第一个阶段是启动ApplicationMaster;
    第二个阶段是由ApplicationMaster创建应用程序,为它申请资源,并监控它的整个运行过程,直到运行完成
    在整个工作流程当中,ResourceManager和NodeManager都是通过心跳保持联系的,NodeManager会通过心跳信息向ResourceManager汇报自己所在节点的资源使用情况。
    分布式资源管理框架YARN的运行流程_第3张图片

你可能感兴趣的:(随堂笔记,Hadoop)