MapReduce过程分析

本文详细介绍了MapReduce的工作原理,包括Map和Reduce两个核心阶段的运作机制,以及MapReduce在YARN上的作业提交流程。从客户端提交作业开始,到ResourceManager分配资源,再到ApplicationMaster的启动与资源申请,直至Task的运行与监控,全面解析了MapReduce在大数据处理中的角色。
摘要由CSDN通过智能技术生成

1:MapReduce概述

Mapreduce分成两部分

Map()---映射 (元素个数是不变的)
	映射成键值对的结构
	映射的条件是一一对应的。
	x--->(x,1) 
	y--->(y,1)

Reduce()---归约(元素个数是减少的)
	对于key相同的元素,找出来,值进行相加。
    x--->(x,1)
	x--->(x,1) -->>(x,1+1+1)
	x--->(x,1)

2:Mapreduce架构

	MR job提交到Yarn的工作流程
			||
		Yarn的架构设计
			||
		Yarn的工作流程

1:客户端向(Yarn中的)ResourceManager提交应用程序

ResourceManager
---Applications manager是一个线程
---Resource scheduler

2.1:RM为该应用程序分配第一个container容器,
2.2:RM与对应的NM通信,要求Nodemanager在这个
        container容器中启动应用程序的application master

3:Application master 首先向Application manager注册

       以支持通过web 8088端口查看应用程序的运行状态,且监控它的运行状态。

4:ApplicationMaster向Scheduler申请领取资源

5:一旦ApplicationMaster申请到资源,就会与对应的NodeManager(可能很多)进行通信,要求Nodemanager启动容器。

6:Nodemanager节点启动容器,运行Task

7:ApplicationMaster实时监控Task的运行状态

8:app运行完成后,ApplicationMaster向apps manager 注销并关闭

注:
        在一个容器中只会运行一种Task(MapTask/ReduceTask)

总结:
        1:启动application master 1,2
        2:application master 申请资源,运行任务,结束任务 3-8

3:shuffle流程

shuffle阶段分成两部分:map端的shuffle,reduce端的shuffle

shuffle一般指reduce端

把map端的结果,key相同的通过IO放到一起,对key相同的,进行合并。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值