您当前的位置: 首页 >  ar
  • 4浏览

    0关注

    515博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

云计算-分布式计算MapReduce和YARN的区别-ielab

ie-lab网络实验室ccie认证之家 发布时间:2019-05-08 17:57:27 ,浏览量:4

分布式计算MapReduce和YARN的区别

什么是MapReduce? MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组

作用: (1)海量数据在单机上处理因为硬件资源限制,无法胜任

(2)而一旦将单机版程序扩展到集群来分布式运行,将极大增加程序的复杂度和开发难度

(3)引入mapreduce框架后,开发人员可以将绝大部分工作集中在业务逻辑的开发上,而将分布式计算中的复杂性交由框架来处理。

什么是Yarn? Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

Yarn架构图: 在这里插入图片描述 工作流程

在这里插入图片描述 重要概念: 1、 yarn并不清楚用户提交的程序的运行机制

2、 yarn只提供运算资源的调度(用户程序向yarn申请资源,yarn就负责分配资源)

3、 yarn中的主管角色叫ResourceManager

4、 yarn中具体提供运算资源的角色叫NodeManager

5、 这样一来,yarn其实就与运行的用户程序完全解耦,就意味着yarn上可以运行各种类型的分布式运算程序(mapreduce只是其中的一种),比如mapreduce、storm程序,spark程序,tez ……

6、 所以,spark、storm等运算框架都可以整合在yarn上运行,只要他们各自的框架中有符合yarn规范的资源请求机制即可

7、Yarn就成为一个通用的资源调度平台,从此,企业中以前存在的各种运算集群都可以整合在一个物理集群上,提高资源利用率,方便数据共享

转载:http://www.ie-lab.cn/

部分内容来源网络 助教:马季

关注
打赏
1663034639
查看更多评论
立即登录/注册

微信扫码登录

0.4135s