YARN的工作原理
来源:互联网 发布:灵族捏脸数据 编辑:程序博客网 时间:2024/06/06 05:05
一、YARN的组成
由ResourceManager、NodeManager、JobHistoryServer、Containers、Application Master、job、Task、Client组成。
ResourceManager:一个Cluster只有一个,负责资源调度、资源分配等工作。
NodeManager:运行在DataNode节点,负责启动Application和对资源的管理。
JobHistoryServer:负责查询job运行进度及元数据管理。
Containers:Container通过ResourceManager分配。包括容器的CPU、内存等资源。
Application Master:ResourceManager将任务给Application Master,然后Application Master再将任务给NodeManager。每个Application只有一个Application Master,运行在Node Manager节点,Application Master是由ResourceManager指派的。
job:是需要执行的一个工作单元:它包括输入数据、MapReduce程序和配置信息。job也可以叫作Application。
task:一个具体做Mapper或Reducer的独立的工作单元。task运行在NodeManager的Container中。
Client:一个提交给ResourceManager的一个Application程序。
二、一个job运行处理的整体流程
用户向YARN中提交作业,其中包括Application Master启动、Application Master的命令及用户程序等;ResourceManager为作业分配第一个Container,并与对应的NodeManager通信,要求它在这个Container中启动该作业的Application Master;Application Master首先向ResourceManager注册,这样用户可以直接通过ResourceManager查询作业的运行状态,然后它将为各个任务申请资源并监控任务的运行状态,直到任务结束。Application通过RPC请求想ResourceManager申请和领取资源。
然后ApplicationMaster要求指定的NodeManager节点启动任务。
启动之后,去干ResoucrceManager指定的Map task。
等Map task干完之后,通知Application Master。然后Application Master去告知Resource Manager。接下来Resource Manager分配新的资源给Application Master,让它找人去干其他的活。
接下来Application Master通知NodeManager启动新的Container准备干新的活,该活的输入是Map task的输出。
开始干Reduce task任务。
等各个节点的Reduce task都干好了,将干活的NodeManager的任务结果进行同步。做最后的Reduce任务。
等计算完了,最后将最终的结果输出到HDFS。
任务完成!
原文:http://davidbj.blog.51cto.com/4159484/1671064
- YARN的工作原理
- Yarn运行Mapreduce程序的工作原理
- MapReduce On YARN的工作原理
- YARN工作原理
- YARN工作原理简述
- Hadoop Yarn工作原理
- YARN工作原理
- YARN工作原理
- Yarn平台工作原理
- YARN工作原理
- YARN原理及其工作流程
- Spark on YARN工作原理
- 大数据学习8:YARN的工作原理
- YARN的工作流程
- YARN的工作流程
- yarn的工作流程
- yarn的工作流程
- hadoop yarn 的原理
- cocos2d-x3.15win10环境搭建
- 算法 —— 算法概述
- ibm 聊天机器人android 代码 readme
- [UILabel copyWithZone:]: unrecognized selector sent to instance
- Android解析和创建XML之学习笔记------SAX
- YARN的工作原理
- hibernate学习之实体类以及crud操
- pymsql基本用法
- 安卓设计模式之MVC
- adapter.notify()、notifyAll()、notifyDataSetChanged ()、notifyDataSetInvalidated ()的区别
- 将图片保存到本地相册
- Java_log2000_IO1
- logback 中文手册
- java poi实现数据库数据导出到excel