当前位置:首页 > 行业动态 > 正文

MapReduce 2.0运行机制揭秘,技术核心是如何运作的?

MapReduce 2.0 运行原理与技术原理

MapReduce 2.0运行机制揭秘,技术核心是如何运作的?  第1张

概述

MapReduce 2.0(也称为YARN,Yet Another Resource Negotiator)是对传统的MapReduce框架的重大改进,它将资源管理和作业调度分离,使得MapReduce能够支持更广泛的计算任务,同时提高了资源利用率和作业的并行度。

MapReduce 2.0 运行原理

1、资源管理(ResourceManager, RM)

负责整个集群的资源分配和调度。

将集群的资源划分为多个资源池(Resource Pool),每个资源池可以独立管理资源。

2、应用程序管理器(ApplicationMaster, AM)

每个MapReduce作业都有一个对应的ApplicationMaster。

负责向ResourceManager申请资源,并在获得资源后启动Container。

监控作业的执行情况,并在必要时重启失败的任务。

3、容器(Container)

资源管理器分配给ApplicationMaster的运行环境。

包含一定数量的CPU核心、内存和磁盘资源。

在容器中运行TaskTracker,TaskTracker负责执行Map和Reduce任务。

4、任务执行(Task)

Map任务和Reduce任务。

Map任务负责将输入数据转换为键值对。

Reduce任务负责对Map任务输出的键值对进行聚合。

5、数据传输(Shuffle和Sort)

Map任务将键值对发送到Reduce任务。

在传输过程中,数据会被进行排序和分组。

技术原理

1、资源管理

ResourceManager使用一个名为Hadoop YARN Resource Manager的组件来管理集群资源。

Resource Manager将集群的资源划分为多个资源池,每个资源池可以独立分配资源。

2、作业调度

ApplicationMaster负责向ResourceManager申请资源。

ResourceManager根据资源池和作业需求分配资源。

3、任务执行

TaskTracker在Container中启动,并执行Map和Reduce任务。

TaskTracker负责监控任务执行情况,并在任务失败时重启。

4、数据传输

Shuffle和Sort过程在Map任务和Reduce任务之间进行。

Shuffle过程负责将Map任务输出的键值对发送到Reduce任务。

Sort过程负责对键值对进行排序和分组。

5、容错机制

MapReduce 2.0引入了更强大的容错机制。

在任务失败时,ApplicationMaster可以重启任务。

ResourceManager可以重新分配资源,并启动新的Container。

MapReduce 2.0通过将资源管理和作业调度分离,提高了集群的灵活性和效率,它允许用户运行更广泛的计算任务,并提高了资源利用率和作业的并行度。

0