mapreduce源码结构以及主要过程源码

来源:互联网 发布:阿里云站点监控异常 编辑:程序博客网 时间:2024/04/27 14:31

了解mapreduce任务启动过程

想了解mapruduce的源码结构,首先了解yarn的基本结构以及一下mr任务启动的过程,看下图:
这里写图片描述

可以看到整个过程通过job-client来向resourceManager提交作业,然后resourceManager在集群中某台机子启动mr appMaster,再由mr appMaster去启动task,并管理task;为了更方便地管理集群硬件资源,mr appMaster以及各个mr task都是通过了子进程来执行任务的,概括地讲,过程如下:
job-client->resourceManager->mr appMaster process-> nodeManager->task process

再看看mapreduce任务的整个过程:
这里写图片描述

一个map任务包括四个阶段,一个reduce任务包括三个阶段,其中map和reduce过程是由我们自定义逻辑过程的,其他过程都是固定的过程;

mapreduce模块

了解上面的过程,按照软件模块组织的过程,我想大家也大概了解其代码结构,以及依赖关系
这里写图片描述
其中
hadoop-mapreduce-client-jobclient是用于生成jobclient
hadoop-mapreduce-client-app是用于生成mr appMaster
hadoop-mapreduce-client-core是用于生成mr task;
下面说的是mr appMaster以及mr task的sub process的入口类以及mr task的整合处:
mr appMaster : org.apache.hadoop.mapreduce.v2.app.MRAppMaster
mr task : org.apache.hadoop.mapred.YarnChild
map task : org.apache.hadoop.mapred.MapTask
reduce task : org.apache.hadoop.mapred.ReduceTask

了解完了整个架构,接下了的工作就是了解mr task的主要过程源码,接下来的日子会慢慢更新

0 0
原创粉丝点击