yarn学习

YARN是什么?
yarn是作业调度和集群资源管理的一个框架。

为什么会产生yarn,它解决了什么问题?
简单列三点的功能上
1、MRv1的jobTracker和TaskTracker存在单点故障问题,(yarn框架是将调度和执行完全分开,各司其职)
2、MRv1的jobtracker既负责调度也负责执行任务,负担中,存在问题的风险大,也造成了集群的扩展性存在瓶颈(4000个节点)
3、在 TaskTracker 端,把资源强制划分为 map task slot 和 reduce task slot, 如果当系统中只有 map task 或者只有 reduce task 的时候,会造成资源的浪费,也就是前面提过的集群资源利用的问题
yarn解决了扩展性差,单点故障以及只能局限于MR计算框架等的问题。
(yarn中使用container来执行task,task完成就释放container资源)
Yarn的组件及架构

1. ResourceManager:Global(全局)的进程 
2. NodeManager:运行在每个节点上的进程
3. ApplicationMaster:Application-specific(应用级别)的进程
- *Scheduler:是ResourceManager的一个组件*
- *Container:节点上一组CPU和内存资源*

yarn学习_第1张图片

你可能感兴趣的:(hadoop)