1、Yarn 是什么
- Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)
- 作用:资源管理与任务调度
2、架构设计
Yarn 设计的核心思想是将JobTracker 的两个主要职责:资源管理和任务调度管理,分别交给两个角色负责。
一个是全局的ResourceManager,一个是每个应用中唯一的ApplicationMaster。
YARN 总体上仍然是Master/Slave 结构,在整个资源管理框架中,ResourceManager 为Master,NodeManager 为Slave。YARN 主要由ResourceManager、NodeManager、ApplicationMaster 和Container等几个组件构成。
- Client 向ResourceManager 提交启动任务、杀死任务等命令请求;
- ApplicationMaster 由对应的计算框架编写的应用程序完成。每个应用程序对应一个ApplicationMaster, ApplicationMaster 向ResourceManager 申请资源用于在NodeManager上启动相应的Task;
- NodeManager 向ResourceManager 通过心跳信息汇报NodeManager 监控状况、任务执行状况、领取任务等