4.1 MapReduce架构(1.0)

1. MapReduce架构:




各个角色的功能:


 

2. MapReduce——容错性:

JobTracker

单点故障,一旦出现故障,整个集群不可用

TaskTracker

周期性向JobTracker汇报心跳

一旦出现故障,上面所有任务将被调度到其他节点上

MapTask/ReduceTask

运行失败后,将被调度到其他节点上重新执行

3. MapReduce—资源组织方式:

机器用“slot”描述资源数量

由管理员配置slot数目(一般根据CPU,如一个cpu运行两个进程)

分为map slot和reduce slot两种,从一定程度上,可看做“任务运行并发度”

Map slot

可用于运行Map Task的资源

每个Map Task可使用一个或多个map slot

Reduce slot

可用于运行ReduceTask的资源

每个Reduce Task可使用一个或多个reduce slot

4. MapReduce—TaskScheduler(任务调度)

基本作用

根据节点资源(slot)使用情况和作业的要求,将任务调度到各个节点上执行

调度器考虑的因素

作业优先级

作业提交时间

作业所在队列的资源限制

作业调度流程图



5. MapReduce—数据本地性

什么是数据本地性(data locality)

如果任务运行在它将处理的数据所在的节点,则称该任务具有“数据本地性”

本地性可避免跨节点或机架数据传输,提高运行效率

数据本地性分类

同节点(node-local)

同机架(rack-local)

其他(off-switch)

6. MapReduce—任务并行执行

7. MapReduce—推测执行机制 

作业完成时间取决于最慢的任务完成时间

一个作业由若干个Map任务和Reduce任务构成,因硬件老化、软件Bug等,某些任务可能运行非常慢

推测执行机制

发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度

为拖后腿任务启动一个备份任务,同时运行

谁先运行完,则采用谁的结果

不能启用推测执行机制

任务间存在严重的负载倾斜

特殊任务,比如任务向数据库中写数据

来自为知笔记(Wiz)

时间: 2024-10-12 15:14:31

4.1 MapReduce架构(1.0)的相关文章

MapReduce架构与生命周期

MapReduce架构与生命周期 概述:MapReduce是hadoop的核心组件之一,可以通过MapReduce很容易在hadoop平台上进行分布式的计算编程.本文组织结果如下:首先对MapReduce架构和基本原理进行概述,其次对整个MapReduce过程的生命周期进行详细讨论. 参考文献:董西城的<Hadoop技术内幕>以及若干论坛文章,无法考证出处. MapReduce架构和基本原理概述 MapReduce主要分为Map和Reduce两个过程,采用了M/S的设计架构.在1.0系列中,主

2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理

这是我收集的两本关于Hadoop的书,高清PDF版,在此和大家分享: 1.<Hadoop技术内幕:深入理解MapReduce架构设计与实现原理>董西成 著  机械工业出版社2013年5月出版 2.<Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理>蔡斌.陈湘萍 著  机械工业出版社2013年4月出版 百度网盘下载地址: http://pan.baidu.com/s/1sjNmkFj

一张图看懂MapReduce 架构是如何工作的?

MapReduce架构是Hadoop框架中最核心的设计之一. MapReduce 的思想简单的一句话解释就是"任务的分解与结果的汇总".MapReduce 从名字上来看,两个动词Map 和Reduce, "Map(地图)"就是将一个图分解成为多个子图, "Reduce(缩小)"就是将分解后多任务处理的结果汇总起来,得出最后的分析结果. 通俗说MapReduce 是一套从海量源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步

WEB前端目录架构-v1.0

============================================================================== 前端目录架构-v1.0(项目级)============================================================================== Project/ ├── css/ │  ├── icon/ │  ├── page/ │ ├── base.css │  ├── reset.css

Hadoop学习(五)-MapReduce架构原理

概述 hadoop主要是用于应对海量数据的存储和计算的,前面hdfs文件系统,则重点是用于海量数据的存储.那么有了这么多数据,我们又该怎么在这些数据里面来提取我们需要的信息呢?这个时候hadoop中出现了一个非常重要的成员MapReduce.MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.注意这个并行运算,它不再是我们传统意义上的串行计算,它可以在不同的进程中进行并行的运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思

MapReduce架构简介

前言: MapReduce是用于数据处理的一种编程模型,简单但足够强大,专门为并行处理大数据而设计.MapReduce的处理过程分为两个步骤:map和reduce.每个阶段的输入输出都是key-value的形式,key和value的类型可以自行指定.map阶段对切分好的数据进行并行处理,处理结果传输给reduce,由reduce函数完成最后的汇总.到了2.0之后,MapReduce可以理解为是一个jar包或一个程序,这个程序要运行在Yarn上面,上面有两个进程,ResourceManager和N

im大型分布式实时计费服务器系统架构2.0

整个创业团队后台就我一个设计,架构,和开发.一路上很辛苦,因为遇到的问题很多很多,并不是想象的那么简单.本来2.0想用go语言开发的,简单,又快,又支持热更新.处理速度和c++差不多,但灵活度没有c++高,没有那么多特性.设计一个复杂的Im系统,有点不合适.然后我又用回了c++,本人还是热衷于c++,我使用很多语言,都没有c++的灵活,好用. 感觉qt的类库非常强大,还有它的机制,非常容易扩展,所以还是继续qt+epoll模型. 我重新设计了以前1.0服务器不足之处,整个服务器性能提升到将近20

MapReduce架构和算法(2)

一个.combiner计划 每map它可能会产生大量的输出,combiner的作用是map输出端先做合并.reducer的数据量. combiner最基本是实现本地key的归并,combiner具有类似本地的reduce功能 假设不用combiner,那么,全部的结果都是reduce完毕.效率会相对低下. 使用combiner,先完毕的map会在本地聚合,提升速度. 注意:Combiner的输出是Reducer的输入,Combiner绝不能改变终于的计算结果. 所以从我的想法来看,Combine

hadoop基础之初识Hadoop MapReduce架构

Hadoop的mapreduce是一个快速.高效.简单用于编写的并运行处理大数据程序并应用在大数据集群上的编程框架.它将复杂的.运行于大规模集群上的并行计算过程高度的抽象到两个函数:map.reduce.适用于MP来处理的数据集(或者任务),需要满足一个基本的要求:待处理的数据集可以分解成许多小的数据集额,而且每一个小数据集都可以完全并行的进行处理. 图1.2-1MP框架数据流 MP框架包括一个主节点(ResourceManager).多个子节点(运行NodeManager)和MRAppMast