上一篇文章介绍了 HDFS 和 MapReduce 的体系结构。这篇文章介绍 YARN 的体系结构。
YARN 式分布式操作系统,其基本功能就是管理整个集群的计算资源,提供用户程序访问系统资源的 API。MapReduce 是 YARN 里的一种编程方式。
体系架构
MapReduce v1 中的 JobTracker 两大功能——资源管理和任务调度,拆分为 ResourceManager 和 ApplicationMaster。前者负责资源管理,后者负责任务管理。而 TaskTracker 发展为 NodeManager,用来管理本机资源。ResourceManager 和从属节点的进程 NodeManager 组成了 Hadoop 2.x 的分布式数据计算框架。
YARN 依旧是 master/slave 架构,它有以下几个部分:
- client:客户端,负责向集群提交作业;
- ResourceManager:集群主进程,仲裁中心,负责集群资源管理和任务任务调度;
- Scheduler:资源仲裁模块;
- ApplicationManager:选定,启动和监管 ApplicationMaster;
- NodeManager:集群从进程,管理监视 Containers,执行具体任务;