Yarn(三)Yarn三大组件介绍

Yarn(三)Yarn三大组件介绍

Yarn三大组件介绍

1. ResourceManager

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

2. NodeManager

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

3. ApplicationMaster

  • 用 户 提 交 的 每 个 应 用 程 序 均 包 含 一 个 ApplicationMaster , 它 可 以 运 行 在ResourceManager 以外的机器上。
  • 负责与 RM 调度器协商以获取资源(用 Container 表示)。
  • 将得到的任务进一步分配给内部的任务(资源的二次分配)。
  • 与 NM 通信以启动/停止任务。
  • 监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
  • 当前 YARN 自带了两个 ApplicationMaster 实现,一个是用于演示AM 编写方法的实例程序 DistributedShell,它可以申请一定数目的Container 以并行运行一个 Shell 命令或者 Shell 脚本;另一个是运行 MapReduce 应用程序的 AM—MRAppMaster。
1.注
喜欢就点赞评论+关注吧

Yarn(三)Yarn三大组件介绍_第1张图片

感谢阅读,希望能帮助到大家,谢谢大家的支持!


  1. RM 只负责监控 AM,并在 AM 运行失败时候启动它。RM 不负责 AM 内部任务的容错,任务的容错由 AM 完成 ↩

你可能感兴趣的:(hadoop)