美文网首页
MapReduce学习(一)、(二)

MapReduce学习(一)、(二)

作者: 夕望有你 | 来源:发表于2016-12-29 13:50 被阅读53次

MapReduce:分布式并行编程框架

(一)概述

1.与传统并行计算框架的对比

传统的并行计算框架(如MPI)采用共享式架构(共享内存&存储、采用存储区域网络SAN)、容错性较差;使用的刀片服务器价格高、集群扩展性差(只能从提高机器性能上进行纵向扩展)。它适用于要求实时性、细粒度计算和计算密集型的场景。

MapReduce采用非共享式架构,容错性好;并且它所用的服务器均为普通PC机(价格便宜)、且横向扩展性好(通过增加服务器即可实现集群扩展)。它适用于批处理、非实时、数据密集型的场景。

2.模型简介

MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce。

策略——分而治之:将一个大规模数据集切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理。

理念——计算向数据靠拢:可以避免移动数据所需要大量的网络传输开销。

框架——Master/Slave架构:包括一个Master和若干个Slave,Master上运行JobTracker,Slave上运行TaskTracker。

3.Map&Reduce函数

Map函数:

1.将小数据集进一步解析成一批对,输入Map函数中进行处理

2.每一个输入的会输出一批。是计算的中间结果

输入:,如:<行号,”a b c”>

输出:List(),如:<“a”,1> <“b”,1> <“c”,1>

Reduce函数:

输入的中间结果中的List(v2)表示是一批属于同一个k2的value

输入:,如:<“a”,<1,1,1>>

输出:,如:<“a”,3>

(二)体系结构

MapReduce体系结构主要由四个部分组成,分别是:Client、JobTracker、TaskTracker以及Task,如图:

1.Client

1)用户编写的MapReduce程序通过Client提交到JobTracker端。

2)用户通过Client提供的一些接口查看作业状态。

2.JobTracker:负责资源监控和作业调度

1)监控所有TaskTracker与Job的健康状况,一旦发现失效,就将相应任务转移到其他节点。

2)跟踪任务的执行进度、资源使用量等信息,将这些信息告知TaskSchduler(任务调度器)。

3.TaskTracker:具体执行任务

1)周期性地通过“心跳”将本节点上资源使用情况和任务运行进度汇报给JobTracker,同时接收JobTracker发送的命令。

2)一个Task 获取到一个slot(调度资源的单位)后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上的空闲slot分配给Task使用。slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用。

4.Task

TaskTask 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动。

相关文章

  • MapReduce学习(一)、(二)

    MapReduce:分布式并行编程框架 (一)概述 1.与传统并行计算框架的对比 传统的并行计算框架(如MPI)采...

  • 四、分布式计算框架MapReduce

    一、MapReduce概述 二、wordCount入门MapReduce 2.1 MapReduce编程模型之Ma...

  • mapreduce框架详解

    参考:hadoop 学习笔记:mapreduce框架详解 [toc] 总结 Mapreduce是一个计算框架,既然...

  • MapReduce工作原理(重点)

    阅读目录 一、MapReduce 完整运行流程 二、MapReduce 任务的 Shuffle 和排序过程 三、内...

  • MapReduce学习

    最近学习了分布式老三篇之一MapReduce,是用于分布式计算的。 MapReduce出现的背景数据量十分多的时候...

  • hadoop(八)MapReduce

    上一节课我们一起学习了RPC简单用法,这节课我们来学习MapReduce,MapReduce可谓是Hadoop当中...

  • 【复习001】-20170722

    一、大数据基础 二、MapReduce和Yarn功能与架构Yarn(集群资源管理)的组件 三、MapReduce客...

  • 大数据开发:MapReduce排序与合并机制

    MapReduce作为Hadoop的核心计算引擎,算是学习当中必学的一个部分。虽然发展至今,MapReduce计算...

  • MapReduce应用

    MapReduce应用 二次排序 二次排序的需求说明 在mapreduce操作时,shuffle阶段会多次根据ke...

  • Spark编程模型

    Spark简述 下图是Spark和MapReduce进行逻辑回归机器学习的性能比较,Spark比MapReduce...

网友评论

      本文标题:MapReduce学习(一)、(二)

      本文链接:https://www.haomeiwen.com/subject/njtpvttx.html