`
minglaihan
  • 浏览: 15917 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

MapReduce工作机制总结

 
阅读更多

总结从MapReduce程序中的JobClient.runJob(conf)开始,给出了MapReduce执行的流程图(如下),并分析了流程图中的四个核心实体,结合实际代码介绍了MapReduce执行的详细流程。

mapreduce作业执行流程图

MapReduce的执行流程简单概括如下:

  • 用户作业执行JobClient.runJob(conf)代码会在Hadoop集群上将其启动。
  • 启动之后JobClient实例会向JobTracker获取JobId,而且客户端会将作业执行需要的作业资源复制到HDFS上,然后将作业提交给JobTracker。
  • JobTracker在本地初始化作业,再从HDFS作业资源中获取作业输入的分割信息,根据这些信息JobTracker将作业分割成多个任务,然后分配给在与JobTracker心跳通信中请求任务的TaskTracker。
  • TaskTracker接收到新的任务之后会首先从HDFS上获取作业资源,包括作业配置信息和本作业分片的输入,然后在本地启动一个JVM并执行任务。
  • 任务结束后将结果写回HDFS。

介绍完MapReduce作业的详细流程后,还重点介绍了MapReduce中采用的两种机制,分别是错误处理机制和作业调度机制。在错误处理机制中,如果遇到硬件故障,MapReduce会将故障节点上的任务分配给其他节点处理。如果是任务失败,则会重新执行。在作业调度机制中,主要介绍了公平调度器。这种策略能够按照提交作业的用户数目将资源公平的分到用户的作业池中,以达到用户公平共享整个集群的目的。

最后介绍了MapReduce中两个流程的细节,分别是shuffle和任务执行。在shuffle中,从代码入手介绍了Map端和Reduce端的shuffle过程以及shuffle优化。shuffle的过程可以概括为:在Map端,当缓冲区内容达到阈值时Map写出内容。写出时按照key值对数据排序,在按照划分将数据写入文件,然后进行merge并将结果交给Reduce。在Reduce端,TaskTracker先从执行Map的TaskTracker节点上复制Map输出,然后对排序进行合并,最后进行Reduce处理。关于任务执行则主要介绍了三个任务执行的细节,分别是推测式进行、JVM重用和执行环境。推测式执行是指JobTracker在作业执行过程中,发现某个作业执行速度过慢,为了不影响整个作业的完成进度,会启动和这个作业完全相同的备份作业让TaskTracker执行,最后保留二者中较快完成的结果。JVM重用主要针对比较零碎的任务,对于新任务不是启动系的呢JVM,二是在先前执行任务完毕的JVM上执行,这样节省了启动JVM的时间。在任务执行环境中主要介绍了任务执行参数的内容和任务目录结构,以及任务临时文件夹使用情况。

转载请注明出处:http://hanlaiming.freetzi.com/?p=133

分享到:
评论

相关推荐

    Hadoop开发者第四期

    Hadoop开发者第四期: 海量数据处理平台架构演变; 计算不均衡问题在Hive 中的解决办法; Join 算子在Hadoop 中的实现;...MapReduce 开发经验总结; Hadoop 中的tar 命令的实现; Hadoop 技术论坛运营数据分享

    Hadoop重点知识总结

    这是本人根据《Hadoop权威指南》和《Hadoop实战》这两本书进行总结,对Hadoop中的MapReduce机制和HDFS数据流程进行总结,并对Hadoop的发展历程进行总结,是对Hadoop的高度总结。

    HIVE-SQL开发规范.docx

    hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的...本文是Hive的开发规范,包括从网上搜集的一些内容,也包括在工作中总结的,以及在书中整理的点。

    最新Hadoop的面试题总结

    ReduceTask工作机制 (1)Copy阶段:ReduceTask从各个MapTask上远程拷贝一片数据,并针对某一片数据,如果其大小超过一定阈值,则写到磁盘上,否则直接放到内存中。 (2)Merge阶段:在远程拷贝数据的同时,Reduce...

    hadoop段海涛老师八天实战视频

    02-NN工作机制2.avi 03-DN工作原理.avi 04-HDFS的JAVA客户端编写.avi 05-filesystem设计思想总结.avi 06-hadoop中的RPC框架实现机制.avi 07-hadoop中的RPC应用实例demo.avi 08-hdfs下载数据源码跟踪铺垫.avi ...

    Hadoop权威指南 第二版(中文版)

    MapReduce的工作机制;MapReduce的类型和格式;MapReduce的特性;如何构建Hadoop集群,如何管理Hadoop;Pig简介;Hbase简介;Hive简介;ZooKeeper简介;开源工具Sqoop,最后还提供了丰富的案例分析。  本书是Hadoop...

    大数据开发的技巧总结以及入门教程知识点总结.docx

    分布式系统理解:掌握分布式计算原理,理解MapReduce、Spark、Flink等计算框架的工作机制。 数据清洗:熟练使用ETL工具和编程技术进行数据预处理和清洗。 集群管理:掌握Hadoop、YARN或Mesos等集群资源管理与调度...

    Hive知识图谱.xmind

    hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询...

    Hadoop权威指南(中文版)2015上传.rar

    第6章 MapReduce的工作机制 剖析MapReduce作业运行机制 作业的提交 作业的初始化 任务的分配 任务的执行 进度和状态的更新 作业的完成 失败 任务失败 tasktracker失败 jobtracker失败 作业的调度 Fair Scheduler ...

    大数据基础知识入门.pdf

    Hadoop之父Doug Cutting 受此启发的Doug Cutting等人用2 年的业余时间实现了GFS和MapReduce机制。 2005年,Hadoop作为Lucene的子项目Nutch 的一部分正式引入Apache基金会。2006年2 月被分离出来,成为一套完整独立...

    新版Hadoop视频教程 段海涛老师Hadoop八天完全攻克Hadoop视频教程 Hadoop开发

    02-NN工作机制2.avi 03-DN工作原理.avi 04-HDFS的JAVA客户端编写.avi 05-filesystem设计思想总结.av i 06-hadoop中的RPC框架实现机制.avi 07-hadoop中的RPC应用实例demo.avi 08-hdfs下载数据源码跟踪铺 垫....

    大数据应用测试经验总结.pdf

    ⼆、Hadoop运⾏: mapreduce机制: 常⽤命令: 功能 功能 命令 命令 查看⽬录 hadoop fs -ls dir 上传⽂件 hadoop fs -put ${local file} ${hdfs file} 创建⽬录 hadoop fs -mkdir ${dirname} 获取⽂件 hadoop fs -...

    《Hadoop开发者》第四期

    mooon............................MapReduce 开发经验总结............................... 67 Hadoop 中的tar 命令的实现............................ 70 Hadoop 技术论坛运营数据分享.......................... 92

    大数据期末知识点总结.pdf

    ⼤数据期末知识点总结 ⼤数据特点: ⼤数据特点: 五个主要技术特点:5V Volume(⼤体量):即可从数百TB到数⼗数百PB、甚⾄EB规模。 Variety(多样性):即⼤数据包括各种格式和形态的数据。 Velocity(时效性):...

    37篇经过消化云计算论文打包下载

    这篇文档包含科学项目采用科学云技术的描述,还有他经验的早期总结。 12、 Sector and Sphere: The Design and Implementation of a High Performance Data Cloud 在这篇论文中,我们介绍了一个新的云计算软件...

    37篇经过消化的云计算论文

    这篇文档包含科学项目采用科学云技术的描述,还有他经验的早期总结。 12、 Sector and Sphere: The Design and Implementation of a High Performance Data Cloud 在这篇论文中,我们介绍了一个新的云计算软件,他...

    云计算第二版

    第11章 总结与展望 332 11.1 主流商业云计算解决方案比较 332 11.1.1 应用场景 332 11.1.2 使用流程 334 11.1.3 体系结构 335 11.1.4 实现技术 335 11.1.5 核心业务 336 11.2 主流开源云计算系统比较 338 11.2.1 ...

Global site tag (gtag.js) - Google Analytics