YARN是一种新的Hadoop资源管理器,它一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度
理解:可以把yarn理解为相当与一个分布式的 *** 作系统平台,而mapreduce等运算程序则相当于运行于 *** 作系统之上的应用程序,YARN为这些程序提供运算所需的资源(内存,cpu)
yarn三大组件介绍(角色):
- ResourceManager:
- 负责整个集群的资源管理和分配,是一个全局的资源管理系统;
- NodeManager以心跳的方式向ResourceManager汇报资源使用情况(目前主要是CPU和内存使用情况)
- RM只接受NM的资源回报信息,对于具体的资源处理则交给NM自己处理;
- YARN Scheduler根据application的请求为其分配资源,不负责application job的监控、追踪、运行状态反馈、启动等工作;
- NodeManager:
- NodeManager是每个节点上的资源和任务管理器,它是管理这台机器的代理,负责该节点程序的运行,以及该节点资源的管理和监控,yarn集群每个节点都运行一个NodeManager
- NodeManger定时向ResouceManager以心跳方式汇报本节点资源的使用情况和Container的运行状态,当RM宕机时NM自动连接RM备用节点
- NodeManager接收并处理来自ApplicationMaster的Container启动、停止等各种请求
- ApplicationMaster:
- 用户提交的每个应用程序均包含一个ApplicationMaster,它可以运行在RM以外的机器上
- 负责与RM调度器协商一获取资源(用Container表示)
- 将得到的任务进一步分配给内部的任务(资源得二次分配)
- 与NM通信以启动/停止任务
- 监控所有任务状态,并在任务运行失败时重新为任务申请资源以重启任务
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)