YARN 笔记
来源:互联网 发布:投影仪网络连接很慢 编辑:程序博客网 时间:2024/06/18 05:57
YARN 笔记
1. YARN的产生背景
2. YARN的设计思想
3. YARN的基本架构
4. YARN的工作流程(小结)
课程地址:https://edu.hellobi.com/course/93/play/lesson/1471
1. YARN的产生背景
MRv1
· 编程模型:Map阶段和Reduce阶段
· 数据处理引擎:MapTask和ReduceTask
· 运行时环境:JobTracker(资源管理和作业控制)和TaskTracker(接受JT命令并具体执行)
MRv2
· 编程模型、数据处理引擎,与MRv1是一样的
唯一不同的是运行时环境。
· MRv2是运行于YARN之上的MapReduce计算框架。
· YARN(资源管理与调度)和ApplicationMaster(作业控制)。
YARN
支持多中计算框架的资源管理器。
MRv1局限性
1、 可扩展性差,同时具备资源管理和作业控制两个功能,集群中的瓶颈。
2、 可靠性差,主从架构(Master/Slave架构),其中的主节点存在单点故障,一旦主节点出现问题,将导致集群不可用。
3、 资源利用率低,Slot资源分配模式,粗粒度的资源划分单位,通常任务不会用完一个槽的对应资源,且其他任务也无法使用这些空闲资源。
4、 无法支持多种计算框架
YARN轻量级计算平台优点
1、 资源利用率高
2、 运维成为降低
3、 数据共享
2. YARN的设计思想
MRv1和MRv2的框架对比
MRv1和MRv2的编程模型对比
MRv1和MRv2的运行时环境对比
3. YARN的基本架构
1、YARN的基本组成结构
· ResourceManager(RM):全局的资源管理器,负责整个集群的资源管理、分配与调度。
Scheduler(调度器),纯调度器,默认下是Fair Scheduler
· NodeManager(NM):对每一个slave上的资源和任务做管理
1) 定时的向RM汇报HearBeat(资源的使用情况和Container的运行状态)
2) 接受来自AM的启动/停止的请求
· Container:资源分配单位(MRv1中Slot),动态分配。
· ApplicationMaster(AM):每个APP都会包含一个AM,AM的功能包括(任务管理器):
1) 向RM申请资源(用Container资源抽象)
2) 将任务做进一步的分配
3) 与NM通信启动/停止任务
4) 跟踪每一个Task的运行状态(包括Failed后的操作)
2、YARN的通信协议
1)Client与RM通信的协议,ApplicationClientProtocol,作业的提交、应用程序的状态等。
2)AM与RM通信协议,ApplicationMasterProtocol,向RM注册AM,申请资源。
3)AM与NM通信协议,ContainerManagementProtocol,启动/停止Container。
4)RM与NM通信协议,ResourceTracker,汇报slave节点的资源信息包括Container的状态(运行状况)
4. YARN的工作流程(小结)
长作业、短作业
· 短作业,作业运行几秒、几分、几小时或几天……会正常结束的作业;
· 长作业,如无意外,永远不停止的作业(服务部署,如Spark中的Master和Worker)
向YARN提交一个作业(或应用程序):YARN的运行过程:
1、启动ApplicationMaster
2、由ApplicationMaster在集群中创建应用程序,为其申请资源,监控资源使用过程
自己概括:::::
客户向集群提交应用程序到RM(1)
RM为其分配一个container,与container所在的NM保持通信,并启动AM(2)
AM向RM注册(3),client可以通过RM查看运行状态
AM为其申请资源(4),到RM里的Scheduler
AM和NM通信(5),要求NM启动对应的任务
NM设置任务运行环境(6),包括Map Task和Reduce Task
各个任务向AM汇报状态和进度(7),当反馈失败时,AM可以重启任务
执行完成后注销(8)
资源管理系统--资源抽象(Container)
统一的资源管理和调度
Mars老师笔记:
1,客户向YARN提交Application
2,RM为这个应用程序分配一个Container(某个NM上),RM要求该NM在分配的Container上启动应用程序的ApplicationMaster(AM)
3,AM向RM注册自己
4,AM向RM申请资源
5,与RM分配资源的NM通信,要求其启动Task
6,NM设置好运行环境之后启动任务
7,各Task向AM汇报进度和状态
8,程序运行完毕,AM向RM注销并关闭自己。
- YARN 笔记
- YARN学习笔记
- hadoop学习笔记 YARN
- YARN体系学习笔记
- Yarn使用笔记
- Spark on YARN 笔记
- YARN 笔记(一)
- yarn-resource.java阅读笔记
- spark on yarn 应用笔记
- hadoop2.x --- yarn 概念 笔记
- YARN
- yarn
- yarn
- yarn
- yarn
- YARN
- YARN
- Yarn
- 20170101C++阶段班03_Object C++_05运算符重载
- android 实现爆炸式菜单按钮弹出效果
- 两种安装Eclipse插件的方法
- wxPython常用控件--wx.Font,wx.StaticText,wx.StaticBitmap,wx.Button,wx.TextCtrl
- 倒计时CountDownTimer 源码分析
- YARN 笔记
- jquery中this与$(this)的区别
- SSM(spring+springMVC+Mybatis)配置步骤
- 折线图(面积)图1
- Class isAssignableFrom与instanceof区别
- 简单的Android启动页——闪屏
- LoadRunner中Lr_save_string()函数和Itoa()函数的使用
- 在安装有多个版本jdk的Linux环境中切换jdk版本
- Java中的多态调用问题,下面代码输出是什么?