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

本文详细介绍了MapReduce任务的启动过程,从job-client提交作业到resourceManager,再到mr appMaster和task的执行。文章还探讨了MapReduce任务的各个阶段,包括map任务的四个阶段和reduce任务的三个阶段。最后,揭示了MapReduce的代码结构,重点提到了MRAppMaster和YarnChild作为mr appMaster和mr task的入口类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

了解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的主要过程源码,接下来的日子会慢慢更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值