MapReduce&Yarn 运行原理
来源:互联网 发布:淘宝好评返现处罚条例 编辑:程序博客网 时间:2024/06/05 04:50
希望大家多多点赞 ,多多关注。 有问题大家随时讨论。
MR程序运行阶段:
1.map task 读文件,是通过TextInputFormat(默认)(-->RecordReader-->
read()) 一次读一行,
返回key value,-->Mapper{map(k,v);context.write;输出}-->OutPutCollector收集器-->写到环形缓冲区(默认100M,只写80%,前写后清理,防止溢出)即将溢出时调用combination组件,逻辑和reducede 的一样,合并相同的key,value。提高效率。
2.reduce task 将 map task (合并,归并排序)的最终结果文件下载到本地磁盘工作目录。
3.Reduce task 一次读取一组,通过reduce(k,values){context.write(k,v)}->-OotPutFormat-->
RecordWriter.write(k,v)将文件输出。
MR与yarn的工作机制:
1.mr程序在客户端提交 ,main方法的job.submit()会向YARrunner 提交。
2.YARrunner 向 resource manager 申请提交一个application
3.resource manageg 反馈给 YARrunner application资源提交路径:hdfs://xxxx.../.staging以及application_id
4.YARNrunner 向 hdfs 提交job运行所需要的资源文件:job.split
Job.xml,xxxx.jar
5.YARNrunner资源提交完毕后,向resource manager 申请 mrAppMaster
6.resourcemanager 将用户的请求初始化成一个task ,并将task放入队列之中(FIFO调度策略)
7.node manager 领取到task任务(只有一个MRAppmaster),创建容器,从hdfs上下载job资源到本地。首先启动MRAppmaster
8.MRAppmaster 向 resource manager申请运行maptask的容器
9.resource manager反馈给MRAppmaster 领取到map task 的nodemanager的地址,并且领取任务的node manager 创建容器。
10.MPAppmastsr 向node manager 发送程序启动脚本。
11.map 阶段运行结束之后,MPAppmastst 向RM申请容器,运行reduce task程序。
Map task reduce task 都由yarnchild 线程运行。
Map task 都被 MRAppmaster监管。MR程序 和Yarn 不是耦合的。
Yarn:资源调度系统,只负责程序运行所需要的分配回收等调度任务与应用程序的内部运作机制完全无关.
YARN已经成为一个通用资源调度平台,许多运算框架都可以借助YARN来实习资源管理。
- MapReduce&Yarn 运行原理
- Yarn运行Mapreduce程序的工作原理
- MR-3.Hadoop使用YARN运行MapReduce工作原理
- Hadoop On Yarn Mapreduce运行原理与常用数据压缩格式
- Hadoop On Yarn Mapreduce运行原理与常用数据压缩格式
- 浅谈HDFS和MapReduce-YARN的运行原理
- hadoop里面的MapReduce和yarn的运行原理
- hadoop的mapreduce运行在yarn上的原理
- HDFS、YARN、MapReduce原理--读书笔记
- Mapreduce与Yarn 原理分析
- Mapreduce 运行原理(针对使用YARN作为调度和管理的版本)
- MapReduce在YARN上的运行流程
- yarn运行mapreduce的工作机制
- HDFS简介,YARN、MapReduce原理介绍
- MapReduce On YARN的工作原理
- 集群运行mapreduce原理
- MapReduce的运行原理
- 简单搞定MapReduce运行原理
- spring 整合hibernate整合方式
- 384. Shuffle an Array
- [译文]深入理解JavaScript的this关键字(二)
- 莫比乌斯与积性函数
- 多目标优化
- MapReduce&Yarn 运行原理
- python平台使用mongodb存储大文件
- 学习java8的lambda表达式
- 刘咚咚19910512
- 心得
- 在fullpage.js中 transform的的用法,用于过度
- CrodeForces 854B--#433 Div2 B
- 1、数据结构笔记之一入门基本概念
- Java正则表达式的语法与示例