博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache Hadoop 下一代的MapReduce(YARN)
阅读量:5944 次
发布时间:2019-06-19

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

hot3.png

MapReduce已经在hadoop-0.23中经历了彻底的检修,现在,我们有了称之为MapReduce2.0(MRv2) 或者 YARN的新的框架。

MRv2基本的理念是将JobTracker中两个主要的功能(资源管理和作业调度/监控),拆分为单独的守护进程。想法就是有一个全局的ResourceMaager(RM)和对应每个应用的ApplicationMaster(AM)。一个Application是传统意义上的一个Map-Reduce 或者DAG 的作业。

ResourceManager和每台节点上从属的NodeManager(NM),构成了数据计算的框架。RM是最终权威仲裁系统资源在所有应用中(的分配)。

事实上,每个应用的ApplicationMaster 是一个用来向RM协商资源,与NodeManager(s)一起工作,执行和监控任务的特定框架库。

ResourceManager有两个重要的组件:Scheduler和ApplicationsManager。

Scheduler负责为各式各样运行中的应用分配受限制的资源,比如相似的约束,容量,队列等等。Scheduler就只是一个scheduler,不监控和跟踪应用的状态。还有,他不会保证重启那些由于应用失败或是硬件失败的任务。Scheduler基于applications的资源需求来执行他的调度功能;基于将memory、cpu、network、disk等元素合并进来的抽象概念--资源容器Container。在第一个版本中,只支持memory。

Scheduler有一个可插入策略的插件,负责在不同队列,应用间对集群的资源进行分区。当前Map-Reduce schedulers,比如CapacityScheduler,FairScheduler就是这个插件的一些例子。

CapacityScheduler顾及共享的集群资源更容易预测,支持分层级的队列。

ApplicationsManager负责接收任务的提交,协商第一个用来执行特定ApplicationMaster的容器,提供在(任务?)失败时重启ApplicationMaster容器的服务。

NodeManager是每台机器的代理框架,负责containers,监控他们(机器)的资源使用情况(cpu,memory,disk,network),同时报告给ResourceManager/Scheduler。

每个应用的ApplicationMaster负责与Scheduler协商合适的资源容器,并跟踪他们的状态,监控进展。

MRV2 兼容之前的稳定版本(hadoop-1.x),这意味着所愿的Map-Reduce jobs 只需要重统计一下就可以奔跑在MRV2之上了。

 

 

理解:YARN框架是建立在之前的Map-Reduce之上,将之前JobTracker的两个主要功能进行了拆分,分家,资源一家(RM老大),监控一家(NM,ApplicationMaster),各自分工明确。

RM又把他的活分派给了两个小头目(Scheduler,ApplicationsManager),job的接收就交给ApplicationsManager来做,job的调度就交给Scheduler,ApplicationsManager还要负责失败时重启ApplicationMaster,兼任多职啊。

监控的活也细分了,节点的情况(内存,CPU,硬盘,网络等)就由NM来负责监控并上报给领导(RM),再细点说,应该是上报给Scheduler小头目,这样他在调度的时候就会根据你这台节点的状态来分配任务。而每个应用的状态和进展,就交由各自的ApplicationMaster来监控了,如果ApplicationMaster挂了(任务?),没事,ApplicationsManager来帮你重启。

转载于:https://my.oschina.net/zjoschina/blog/323730

你可能感兴趣的文章
导入https证书
查看>>
SAP R3和JAVA交换数据之JCO
查看>>
近期给朋友推荐的笔记本型号
查看>>
sqlserver使用存储过程发送http请求
查看>>
oracle 相关操作
查看>>
JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
查看>>
activeMQ安全配置及常见问题解决
查看>>
实作 ASP.NET 多笔数据离线编辑(转)
查看>>
solr的用分布式搜索(转)
查看>>
多媒体开发之rtmp---rtmp client 编译
查看>>
异常处理汇总 ~ 修正果带着你的Code飞奔吧!
查看>>
Java开发手冊 Java学习手冊教程(MtJava开发手冊)
查看>>
The Willpower Instinct
查看>>
注入复习总结
查看>>
OpenStack 部署总结之:单节点icehouse网桥的配置
查看>>
js---12数据类型,数据类型转换,NaN,
查看>>
C字符串处理函数
查看>>
超短reads(primer、barcode、UMI、index等)比对方法
查看>>
lua正则表达式如何匹配中文
查看>>
arcgis api for js热力图优化篇-不依赖地图服务
查看>>