1)引言

针对MRv1在扩展性。可靠性,资源利用率和多框架的支持上存在着明显的不足。进而诞生了下一代的MapReduce的计算框架MapReduce Version2,MRV1中有一个非常大的问题就是把资源管理和作业调度都扔给了JobTracker,造成了严重的单点瓶颈问题,全部MRV2主要在这一点上做了改进。他将资源管理模块构建成了一个独立的通用系统叫做Yarn,一下子MRV2的核心从MapReduce转到了Yarn上。

后面就有了关于Yarn的各种发展和演变了。

)Yarn设计理念和基本架构

yarn是专门为了解决MRV1的缺点而生的。

1.yarn资源利用率高。由于他能够支持不同的计算框架在上面执行

2.运维成本低。以往一个集群一个框架的模式须要非常多管理员去维护系统,如今可与在yarn上跑多个框架了,在上面你能够选择实时计算框架Storm,内存迭代式计算框架Spark,还能够用传统的MPI的方式解决对于数据计算要求比較高的数据挖掘算法。用一句话概括,yarn就是一个轻量级弹性计算平台。

Yarn的基本组成结构整体上仍沿用的是Master/Slave的结构,可是在资源管理这块,还是做了一点的变化的。一个ResourceManager是一个Master,在每一个子节点以下都有一个NodeManager,由RM给NM分配资源。在每一个节点中还会有ApplicationMaster(后面简称AM)的东西。他会负责与RM通信以获取资源,还会与NM通信来启动或者是停止任务。你能够理解成MRV1中的TaskTracker的角色。

NM是每一个节点上的资源和任务管理器,NM。AM,RM三者之间在整个应用从启动到结束的过程中会进行很多的协作。以下是一张模拟图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQW5kcm9pZGx1c2hhbmdkZXJlbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

最新文章

  1. Java 并发工具包 java.util.concurrent 用户指南
  2. 一个共享内存hash
  3. 简单的php性能注意点
  4. DB Create and Insert
  5. GemFire 入门篇1:GemFire 是什么?
  6. .NET开源工作流RoadFlow-流程设计-保存与发布
  7. Ubuntu快速显示桌面的方法
  8. Hibernate学习之hibernate执行顺序
  9. FindLetter 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过
  10. STL源代码分析——STL算法sort排序算法
  11. 《Mastering Opencv ...读书笔记系列》车牌识别(I)
  12. python之基本内容
  13. zoj3961(区间问题)
  14. Sagit.Framework For IOS 开发框架入门教程6:网络请求STHttp
  15. 关于c++停止工作
  16. Thread类(线程)
  17. Elasticsearch 集群 单服务器 超级详细教程
  18. HTML5漫谈(7)——如何保护HTML5应用代码
  19. LoRaWAN 1.1 网络协议规范 - 5 MAC指令
  20. WorldWind源码剖析系列:地形瓦片类TerrainTile和地形瓦片服务类TerrainTileService

热门文章

  1. python版 百度签到
  2. 如何在win10上同时安装python2和python3
  3. [NOI.AC#41]最短路 线性基
  4. 1.24 Python知识进阶 - 类与对象
  5. uiautomator——第一个例子:打开浏览器,输入网址
  6. mysql-5.7.19-winx64服务无法启动解决方案
  7. 有趣的Ruby-学习笔记4
  8. vue 键盘回车事件导致页面刷新的问题,路由多了一个问号
  9. 【Codeforces Round #446 (Div. 2) A】Greed
  10. 【CS Round #46 (Div. 1.5) A】Letters Deque