博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MapReduce On YARN
阅读量:7057 次
发布时间:2019-06-28

本文共 1064 字,大约阅读时间需要 3 分钟。

MapReduce计算框架

将计算过程分为两个阶段:Map和Reduce

  Map阶段并行处理输入数据;

  Reduce阶段对Map结果进行汇总

Shuffle连接Map和Reduce两个阶段

  Map Task将数据写到本地磁盘;

  Reduce Task从每个Map Task上读取一份数据;

仅适合离线批处理

  具有较好的容错性和扩展性;

  适合批处理任务;

缺点:

  启动Map/Reduce任务开销大、过多使用磁盘导致IO频繁等;

 

MapReduce On YARN(MRv2)

YARN负责资源管理和调度;ApplicationMaster负责任务管理;

MRAppMaster任务调度:

1)YARN将资源分配给MRAppMaster;

2)MRAppMaster进一步将资源分配给内部的任务;

 

MRAppMaster容错:

1)MRAppMaster失败后,由YARN重新启动;

2)任务失败后,MRAppMaster重新申请资源;

 

MapReduce On YARN工作原理

1)用户向YARN中提交应用程序/作业,其中包括ApplicaitonMaster程序、启动ApplicationMaster的命令、用户程序等;

2)ResourceManager为作业分配第一个Container,并与对应的NodeManager通信,要求它在这个Containter中启动该作业的ApplicationMaster;

3)ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查询作业的运行状态;然后它将为各个任务申请资源并监控任务的运行状态,直到运行结束。即重复步骤4-7;

4)ApplicationMaster采用轮询的方式通过RPC请求向ResourceManager申请和领取资源;

5)一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务;

6)NodeManager启动任务;

7)各个任务通过RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicaitonMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务;

在作业运行过程中,用户可随时通过RPC向ApplicationMaster查询作业当前运行状态;

8)作业完成后,ApplicationMaster向ResourceManager注销并关闭自己;

 

转载地址:http://lvrol.baihongyu.com/

你可能感兴趣的文章
tomcat高访问jvm配置
查看>>
谢烟客---------二进制安装MariaDB,管理关系型数据库的基本组件
查看>>
JS 判断手机浏览器
查看>>
Xcode WorkSpace静态库多项目依赖
查看>>
【C语言】 实现memset
查看>>
JS 流程设计器
查看>>
blog小记
查看>>
我的友情链接
查看>>
fileoper.py
查看>>
我的友情链接
查看>>
shell脚本将指定目录下前3天日期目录使用tar打包后并将其删除源日期目录
查看>>
类的静态成员
查看>>
osi七层模型的分类
查看>>
潍坊SEO教程之网站关键词密度
查看>>
HTTPS原理和CA证书申请(满满的干货)
查看>>
跨交换机实现VLAN
查看>>
mysql客户端的使用
查看>>
AIX创建删除page space
查看>>
scala 中的 日期格式化
查看>>
php面向对象
查看>>