`

mapreduce的工作机制

 
阅读更多

了解mapreduce的工作机制,对编写mapreduce高级编程奠定基础。

 

一、mapreduce1的最顶层

包含4个独立的实体

客户端:提交mapreduce作业,jobtracker:协调作业的运行,tasktracker:运行作业划分后的任务,分布式文件系统:用来在其他实体间共享作业文件。

 

二、mapreduce1的过程

1:作业的提交,有客户端提交任务给jobtracker

2:作业的初始化,jobtracker接受到请求后,会进初始化,同时会创建一个表示正在作业的对象,用于封装任务和记录信息,以便跟踪任务的状态和进程。

3:任务的分配,tasktracker 通过发送心跳给jobtracker,如果tasktracker存活的话,jobtracker会为它分配一个任务。

注意:对于map任务,jobtracker会考虑tasktracker的网络位置,并选取一个距离其输入分片文件最近的tasktracker,最理想情况下,任务是数据本地化的。而对于reduce任务不需要考虑数据本地化。

4:任务的执行, 需要完成三步

通过从共享文件系统把作业的jar文件复制到tasktracker所在的文件系统,从而实现作业的jar本地化,同时,tasktracker将应用程序所需要的全部文件从分布式缓存复制到本地磁盘

tasktracker为任务新建一个本地工作目录,并把jar文件中的内容解压到这个文件夹下

tasktracker新建一个TaskRunner实列来运行任务

5:进度和状态:跟踪

6:作业完成,设置完成状态

 

三、mapreduce2(Yarn)的过程

1、当集群节点超过4000的大型集群,mapreduce1扩展会超过瓶颈。mapreduce2将jobtracker的职能划分为多个独立的实体。

2、mapreduce2将资源管理器和应用管理器划分为两个独立的守护进程,应用管理器和资源管理器协商集群的计算资源

使用mapreduce2的优势:不同的Yarn应用可以在同一个集群上,可以在一个Yarn集群上运行不同版本的mapreduce

3、Yarn的实体

提交mapreduce作业的客户端

Yarn资源管理器,负责协调集群上计算资源的分配

Yarn节点管理器(应用管理器),负责启动和监视集群中机器上的计算容器

MapReduce应用程序master负责协调运行MapReduce作业的任务

分布式文件系统

 

4 shuffle和排序

mapreduce确保每个reducer的输入都是按键排序的。系统执行排序的过程(map输出作为输入传给reducer)称为shuffle。

 

 

 

分享到:
评论

相关推荐

    MapReduce运行机制GIF动画图

    官方MapReduce运行机制动画图,详细描述Job的提交流程

    基于MapReduce的贝叶斯垃圾邮件过滤机制.pdf

    提出一种基于MapReduce技术的贝叶斯垃圾邮件过滤机制,一方面对传统贝叶斯过滤技术进行改进,另一方面利用MapReduce模型的海量数据处理优势优化邮件集训练与学习。实验,较之目前流行的传统贝叶斯算法、K最近邻(NN算法...

    Hadoop实战-第二版-陆嘉恒 (2012版)

    MapReduce工作机制7. Hadoop I/O操作8. 下一代MapReduce: Yarn9. HDFS简介10. HDFS文件结构11. Hive详解12. HBase详解13. Mahout简介14. Pig详解15. ZooKeeper详解16. Avro详解17. Chukwa详解18. Hadoop的常用插件...

    Hadoop实战-第2版-陆嘉恒.pdf

    MapReduce工作机制7. Hadoop I/O操作8. 下一代MapReduce: Yarn9. HDFS简介10. HDFS文件结构11. Hive详解12. HBase详解13. Mahout简介14. Pig详解15. ZooKeeper详解16. Avro详解17. Chukwa详解18. Hadoop的常用插件...

    MapReduce设计模式

    , 由于本书不会过多涉及底层框架及MapReduce API,所以希望读者阅读《MapReduce设计模式》之前,能够对Hadoop系统有所了解,知道如何编写MapReduce程序,并了解MapReduce程序框架的工作原理。《MapReduce设计模式》...

    01.mapreduce分布式计算框架的整体工作机制.mp4

    01.mapreduce分布式计算框架的整体工作机制.mp4

    MapReduce执行流程和Shuffle过程

    本节将对 Hadoop MapReduce 的工作机制进行介绍,主要从 MapReduce 的作业执行流程和 Shuffle 过程方面进行阐述。通过加深对 MapReduce 工作机制的了解,可以使程序开发者更合理地使用 MapReduce 解决实际问题。 ...

    17_尚硅谷大数据之MapReduce框架原理1

    3.2 InputFormat 数据输入 3.2.1 Job 提交流程和切片源码详解 3.2.2 FileInputFormat 切片机制

    Map-Reduce原理体系架构和工作机制,eclipse与Hadoop集群连接

    Map-Reduce原理体系架构和工作机制,eclipse与Hadoop集群连接

    hadoop技术内幕 深入解析mapreduce架构设计与实现原理

    最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。本书适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。 hadoop技术内幕 深入解析...

    论文研究-MapReduce框架下基于B树的高维索引.pdf

    针对MapReduce数据块处理机制、高维数据分布特征和KNN查询需求,设计一种基于B 树的高维索引结构(iPartition),创新性提出基于主成分区分度的优化数据划分策略和邻接数据域分散存储等原则,将数据均匀划分到不同的...

    基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf

    基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf...

    Hadoop 培训课程(3)MapReduce_1

    Hadoop 培训课程(3)MapReduce_1 MapReduce原理*** MapReduce执行过程** ...Writable接口与序列化机制*** ---------------------------加深拓展---------------------- MapReduce的执行过程源码分析

    Hadoop技术内幕:深入理解MapReduce架构设计与实现原理.pdf

    最后从实际应用的角度深入讲 解了 Hadoop 的性能优化、安全机制、多用户作业调度器和下一代 MapReduce 框架等高级主题和内容。 本书适合 Hadoop 的二次开发人员、应用开发工程师、运维工程师阅读。

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》

    最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》适合Hadoop的二次开发人员、应用...

    Hadoop技术内幕 深入理解MapReduce架构设计与实现原理 扫描版 带简单书签

    文档仅包含 简单书签 ...最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》适合Hadoop的

    Hadoop_HDFS和MapReduce架构浅析_郝树魁.pdf

    在简述Hadoop namenode、datanode运行模式的基础上,重点介绍了Hadoop MapReduce的工作机制,并以作业提交、作业初始化、任务分配、任务执行和任务进度更新等流程介绍了Job Client、JobTracker、TaskTracker和HDFS在...

    Hadoop平台的MapReduce模型性能优化研究

    本文首先介绍了Hadoop平台的背景,包括它在技术背景上的产生与发展,在应用背景上的应用与前景。之后对 Hadoop的关键技术 HDFS、MapReduce和Scheduler...这种管理机制实现简单,但是存在资源囤积现象,降低了资源利用率。

    mapreduce高级特性及shuffle

    1.shuffle机制详细讲解 2.MR案例多文件输出 3.MR案例partition使用 4.MR案例内容去重 5.MR案例敏感词汇过滤 6.MR案例自定义combiner的使用 7.MR案例倒排序索引 8.MR案例简单排序

    MapReduce求平均值示例程序

    MapReduce求平均值示例程序,并且程序里利用了logger类,可以将调试信息输出到mapreduce的日志,可以根据输出信息了解运行机制

Global site tag (gtag.js) - Google Analytics