`

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计算模式详解

    MapReduce的工作机制可以分为五个主要步骤: 1. **准备阶段**:首先,原始数据会被分成多个块,每个块都会被分配给不同的Map任务处理。 2. **Map阶段**:每个Map任务都会读取分配给它的数据块,并应用`Map`函数处理...

    Hadoop介绍,HDFS和MapReduce工作原理

    4. **容错机制**:MapReduce也内置了容错机制,如果某个Map或Reduce任务失败,系统会重新调度任务。 通过HDFS和MapReduce的协同工作,Hadoop能够处理PB级别的数据,广泛应用于数据分析、日志处理、推荐系统、机器...

    20、MapReduce 工作流介绍

    MapReduce工作流是一种在Hadoop生态系统中处理大数据的机制,它允许多个MapReduce作业(MR作业)按照特定的依赖顺序依次执行,以完成更复杂的计算任务。这些作业之间的依赖关系通常形成一个有向无环图(DAG),其中...

    Hadoop+HDFS和MapReduce架构浅析

    本文旨在深入剖析Hadoop中的两大核心组件——HDFS(Hadoop Distributed File System)和MapReduce的工作原理及其实现机制。首先,我们将介绍Hadoop NameNode与DataNode的基本运行模式;随后,将重点分析MapReduce的...

    MapReduce工作原理

    为了保证数据的安全性和任务的可靠性,MapReduce采用数据块的复制机制,当某个节点发生故障时,可以迅速将任务转移到其他节点继续执行。 #### 二、Hadoop及其组件 Hadoop是一个开源的分布式计算平台,它包含了两个...

    (源码)基于Hadoop MapReduce的分布式数据处理系统.zip

    1. MapReduce工作机制 MapTask从输入数据中解析出keyvalue对,进行数据处理和收集,最终生成一个数据文件。 ReduceTask从各个MapTask上拷贝数据,进行合并和排序,最终将结果写入HDFS。 Shuffle机制在Map和Reduce...

    MapReduce工作原理中文最新版本

    本文旨在深入探讨MapReduce的工作机制。MapReduce基于“分而治之”的策略,将大规模数据集的处理任务分配给由一个主节点控制的多个子节点。这些子节点并行执行任务,并将各自的中间结果返回给主节点,以便合并得到...

    MapReduce基础.pdf

    - **容错性**:MapReduce框架内置了容错机制,当某个任务失败时,框架会自动重试该任务,确保数据处理的完整性。 #### 六、MapReduce的限制 尽管MapReduce是一种强大的数据处理模型,但它也有一定的局限性: - **...

    MapReduce 设计模式

    8. 计数模式(Counting with Counters):计数器是MapReduce中用于记录任务执行过程中特定事件次数的机制。它可以用来监控MapReduce作业的性能,例如计算错误数据的数量或特定数据的出现频率。 9. 过滤模式...

    MapReduce发明人关于MapReduce的介绍

    接下来的部分(原文未完全提供)可能会深入探讨MapReduce的基本编程模型,给出具体的应用案例,解释其内部架构,如数据分片、任务调度、容错机制等,并可能涉及MapReduce如何适应不同规模和类型的数据集,以及如何...

    MapReduce工作知识原理.pdf

    MapReduce工作原理详解 Hadoop是一个开源的分布式计算框架,起源于Apache项目,专注于大规模数据的分布式存储和处理。它的核心特性包括可扩展性、经济性、高效性和可靠性,使得处理PB级别的数据变得可能,同时利用...

    MapReduce详解包括配置文件

    #### 二、MapReduce的工作机制 1. **文件切片**:在MapReduce任务启动之前,首先对输入文件进行逻辑上的切片处理。每个切片对应一个独立的Map任务。切片的大小默认与HDFS块大小一致,但可以通过配置调整。 2. **Map...

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

    MapReduce是Google开发的一种分布式计算模型,广泛应用于大数据处理领域。它将大规模的数据处理任务分解为许多小的子任务,这些子任务...理解MapReduce的工作流程和InputFormat机制对于优化Hadoop作业性能至关重要。

    MapReduce的实现细节

    #### 二、MapReduce的工作原理 MapReduce的基本思想是将大规模的数据集分割成较小的部分,通过并行处理的方式在多台计算机上进行计算。整个计算过程可以分为两个主要阶段:**Map** 和 **Reduce** 阶段。 1. **Map...

    大数据实验四-MapReduce编程实践

    1. **理解MapReduce的工作原理**:深入学习MapReduce的工作机制,理解其分布式计算的优势。 2. **实际编程经验积累**:通过编写MapReduce程序,积累了实际编程经验,熟悉了Hadoop和MapReduce的API。 3. **分布式计算...

    大数据 hadoop mapreduce 词频统计

    在这个过程中,Hadoop MapReduce通过并行化处理和容错机制,能够高效地处理大规模数据,即使在硬件故障的情况下也能确保数据完整性。同时,MapReduce的编程模型相对简单,使得开发者能够专注于业务逻辑,而不是底层...

    Hadoop MapReduce Cookbook 源码

    首先,我们要理解MapReduce的基本工作原理。Map阶段负责数据的拆分和处理,将原始输入数据分解为键值对,并发送到各个工作节点进行并行处理。Reduce阶段则负责整合Map阶段的结果,执行聚合操作,最终生成所需的输出...

Global site tag (gtag.js) - Google Analytics