MapReduce 1.0的缺陷
▍MapReduce 1.0体系结构(复习)
- JobTracker —— 监控TaskTracker的健康情况
跟踪任务的执行进度、资源使用等,并将这些信息告诉TaskScheduler调度器 - TaskTracker —— 周期性向JobTracker发送心跳
接收JobTracker发送的命令,并执行相应的操作(启动任务、杀死任务等)
使用slot等量划分本节点的资源量(CPU、内存等)
补充:划分出Map slot + Reduce slot
▍MapReduce 1.0的缺陷
- 存在单点故障
- JobTacker大包大揽,导致任务过重(因此固定上限为4000个节点)
- 容易出现内存溢出(分配时只考虑了MapReduce任务数,并未考虑CPU、内存)
- 资源划分不合理(强制划分slot——Map slot + Reduce slot)
YARN设计思路
▍理解(⭐️)
- MapReduce既是一个计算框架,也是一个资源管理调度框架
- 我们不妨把MapReduce1.0中的资源管理调度功能,单独分出来——这就是Yarn
- Yarn不再是一个计算框架,而是一个纯粹的资源管理调度框架
- 被剥夺了资源管理调度功能的MapReduce框架,就变成了MapReduce2.0——一个纯粹的计算框架;由Yarn为其提供资源管理调度服务
▍图解
YARN体系结构
▶