2021年大数据Hadoop(二十六):YARN三大组件介绍

2021-10-11 15:44:44 浏览数 (1)

Yarn三大组件介绍

ResourceManager

  • ResourceManager负责整个集群的资源管理和分配,是一个全局的资源管理系统。
  • NodeManager以心跳的方式向ResourceManager汇报资源使用情况(目前主要是CPU和内存的使用情况)。ResourceManager只接受NodeManager的资源回报信息,对于具体的资源处理则交给NodeManager自己处理。
  • ResourceManager中的YARN Scheduler组件根据application的请求为其分配资源,不负责具体job的监控、追踪、运行状态反馈、启动等工作。

NodeManager

  • NodeManager是每个节点上的资源和任务管理器,它是管理这台机器的代理,负责该节点程序的运行,以及该节点资源的管理和监控。YARN集群每个节点都运行一个NodeManager。
  • NodeManager定时向ResourceManager汇报本节点资源(CPU、内存)的使用情况和Container的运行状态。当ResourceManager宕机时NodeManager自动连接ResourceManager备用节点。
  • NodeManager接收并处理来自ApplicationMaster的Container启动、停止等各种请求。

ApplicationMaster

  • 用户提交的每个应用程序均包含一个ApplicationMaster,它可以运行在ResourceManager以外的机器上。
  • 负责与ResourceManage调度器协商以获取资源(用Container表示)。
  • 将得到的任务进一步分配给内部的任务(资源的二次分配)。
  • 与NodeManager通信以启动/停止任务。
  • 监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。