MapReduce的原理和运行流程

时间:2022-07-14 18:20:06

1、MapReduce

Hadoop并行计算框架,为海量的数据提供了计算。

2、MapReduce的原理

分而治之,一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce)。

3、基本概念

(1)Job

作业,表示MapReduce程序,一个MapReduce程序可对应若干个作业,而每个作业会被分解成若干个MapReduce任务(Task)。

(2)Task

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

(3)JobTracker

任务调度器,负责作业调度;分配任务、监控任务执行进度;监控TaskTracker的状态。

(4)TaskTracker

任务跟踪器,负责执行任务;向JobTracker汇报任务状态。

4、MapReduce体系结构

MapReduce采用Master/Slave的架构。

Master,是整个集群的唯一的全局管理者,负责作业调度、分配任务、监控任务执行进度和监控TaskTracker的状态,即MapReduce中的JobTracker。

Slave,负责任务的执行和任务状态的汇报,即MapReduce中的TaskTracker。

MapReduce的原理和运行流程

5、MapReduce作业执行过程

(1)首先对输入数据源进行切片。

(2)JobTracker调度TaskTracker并分配Map任务。

(3)TaskTracker读取输入源片段。

(4)TaskTracker执行Map任务,将任务输出保存在本地。

(5)JobTracker调度TaskTracker并分配Reduce任务。

(6)TaskTracker读取Map任务的输出文件。

(7)TaskTracker执行Reduce任务,将任务输出保存到HDFS。

MapReduce的原理和运行流程