MR2.X架构设计(MR on Yarn流程 或者 mr提交job流程)
Yarn由RM和NM组成
RM由 applications Manager(应用程序管理器)和resource scheduler(资源memory+cpu 调度器)组成
具体流程:
1.用户向yarn提交job,jar和sql。
2.RM为job分配一个container,运行job的ApplicationMaster
3.App Master向App Manager进行注册,之后可以在RM上查看job的运行状态
4.App Master通过Rpc协议向RM申请资源
5.拿到资源后,与各个NM进行通信,开始启动任务
6.NM为任务设置好运行环境(jar包等),将任务启动命令写在一个脚本里,通过脚本启动任务task。
7.各个task通过Rpc协议向App Master汇报状态和进度,让AppMaster随时掌握各个task的运行状态,从而在task运行失败重启任务
8.App Master向Applications Manager注销并且关闭自己
简要流程概述:
1.启动App Master,申请资源
2.运行任务,直到任务完成
压缩格式:
Map Task的数量:
根据HDFS块的大小分为不同数量的输入分片,例如HDFS块大小为64MB,此时输入一个65MB的文件,那么MapReduce会把文件分为两个输入分片,这是mapreduce优化计算的一个关键点
什么是Shuffle
在wordcount过程中,执行在map之后,reduce之前的操作,类似于洗牌后将相同的牌揽到一起,一般认为shuffle是属于reduce阶段。
来源:CSDN
作者:weixin_38871406
链接:https://blog.csdn.net/weixin_38871406/article/details/103788225