一、Yarn 产生的背景
Hadoop2 之前是由 HDFS 和 MR 组成的,HDFS 负责存储,MR 负责计算。
一)MRv1 的问题
- 耦合度高:MR 中的 jobTracker 同时负责资源管理和作业控制两个功能,互相制约。
- 可靠性差:管理节点是单机的,有单点故障的问题。
- 资源利用率低:基于 slot 的资源分配模型。机器会将资源划分成若干相同大小的 slot,并划定哪些是 map slot、哪些是 reduce slot。
- 无法支持多种计算框架:限定了只能用于 MapReduce 程序。
二)Yarn 的诞生
由于之前 Hadoop 资源调度的种种问题,新的资源调度框架产生了 —— YARN(Yet Another Resource Negotiator)。
它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
二、Yarn 的基本架构
一)Yarn 三大组件
- ResourceManager
- Nodemanager
- ApplicationMaster
- 在资源架构层面:RM 是 master、NM