大数据之七 hadoop MapReduce架构

本文详细介绍了Hadoop MapReduce的架构,从MapReduce V1的JobTracker和TaskTracker,到MapReduce V2的YARN、ResourceManager和ApplicationMaster。分析了V1存在的问题,并描述了V2如何通过分离资源管理和任务调度来解决这些问题,以及YARN的执行流程。

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

上一篇中,我们了解了MapReduce的执行过程,今天我们来看一下MapReduce的实现架构

MapReduceV1

MapReduce采用 Master/Slave 架构,在hadoop1.x版本中,由全局唯一的 JobTracker(主)和多个 TaskTacker(从)组成。

JobTracker

JobTracker负责资源和任务的调度。
JobTracker会对集群中所有的TaskTracker与job进行监控,当有新的作业进入到集群中时,JobTracker中的调度器(scheduler)会根据资源的使用情况合理的分配这些作业。一旦TaskTracker挂掉,scheduler会将原来在这个TaskTracker上面执行的任务转移到其他的节点上面继续执行。

TaskTracker

TaskTracker 接收JobTracker 发送过来的命令并执行相应的操作,同时会周期性地向JobTracker发送“心跳”,汇报本节点上资源的使用情况和任务的运行进度。

执行流程

首先,客户端将MapRedecu应用程序打成jar包发送给JobTracker,请求执行该程序

JT拿到jar包后,向NameNode去请求MR应用程序所要计算的文件位置

JT拿到文件位置列表后,向有数据的TaskTracker节点发送消息,让其分配资源用于运行Map Task
该节点优先是DataNode节点,如果DN上的资源不够,就另选一个节点,但这会导致网络IO,降低效率

TT接收到命令后就开始分配资源

JT将Map Task分发到各个TT

TT开始执行任务,并周期性地向JobTracker发送“心跳”,汇报本节点上资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值