文章目录
MapReduce V1 版本中,JobTracker单点瓶颈问题是影响Hadoop稳定性(可扩展性,内存消耗,线程模型,可靠性和性能上的缺陷)的重要因素。需要处理所有的资源分配,管理所有的心跳信息等。容易造成作业分配不均,作业延迟严重等等问题。
MapReduce V2 Yarn
基本设计思想
JobTracker拆分成了两个独立的服务:
- 一个全局的资源管理器ResourceManager。
- 每个应用程序特有的ApplicationMaster。
其中ResourceManager负责整个系统的资源管理和分配,而ApplicationMaster负责单个应用程序的管理(与资源管理器通信获取资源,与节点服务器配合完成节点的Task任务)。
ResourceManager
ResourceManager是一个中心的服务,负责调度、启动每一个Job所属的ApplicationMaster、另外监控 ApplicationMaster的存在情况。接收 JobSubmitter 提交的作业、以及从 NodeManager 收集来的状态信息,启动调度过程等。
NodeManager
NodeManager功能比较专一,负责Container状态的维护,并向 RM 保持心跳。
Container是Yarn是为资源隔离而提出的一个框架。
ApplicationMaster
ApplicationMaster负责一个 Job 生命周期内的所有工作,类似老的框架中JobTracker。每一个 Job(不是每一种)都有一个 ApplicationMaster,可运行在ResourceManager以外的机器上。
ResourceManager 中有一个模块ApplicationsMasters负责监控ApplicationMaster。
原文链接:Hadoop学习笔记(9)--Yarn,转载请注明来源!