相比于MRv1,YARN带来的优势是什么?

标签: 下一代MapReduce(YARN/MRv2) Hadoop MRv1 yarn | 发表时间:2012-12-23 13:27 | 作者:Dong
出处:http://dongxicheng.org
作者: Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明
网址: http://dongxicheng.org/mapreduce-nextgen/what-can-we-benifit-from-yarn/

最近一段时间,经常看到有人在微博上说,“很多公司暂时用不到YARN,因为一般公司的集群规模并未像Yahoo、Facebook那样达到几千台,甚至将来几万台”。这完全是一种错误的观念,在Hadoop高速发展的时代,必须更正。

实际上,上述观念只看到了YARN的扩展性(Scalability),扩展性是可用可不用的特性,中小型公司将YARN部署到小集群(按照IBM观点,集群规模小于200台的称为中小规模集群,这样的公司找到90%以上)上,可能享受不到扩展性带来的优势,但至少可以获取以下几个收益:

(1) 更快地MapReduce计算

MapReduce仍是当前使用最广泛的计算框架。YARN利用异步模型对MapReduce框架的一些关键逻辑结构(如JobInprogress、TaskInProgress等)进行了重写,相比于MRv1,具有更快地计算速度。当然,YARN具有向后兼容性,用户在MRv1上运行的作业,无需任何修改即可运行在YARN之上。

(2) 对多框架支持

与MRv1相比,YARN不再是一个单纯的计算框架,而是一个框架管理器,用户可以将各种各样的计算框架移植到YARN之上,由YARN进行统一管理和资源分配,由于将现有框架移植到YARN之上需要一定的工作量,当前YARN仅可运行MapReduce这种离线计算框架。
我们知道,不存在一种统一的计算框架适合所有应用场景,也就是说,如果你想设计一种计算框架,可以高效地进行离线计算、在线计算、流式计算、内存计算等,是不可能的。既然没有全能的计算框架,为什么不开发一个容纳和管理各种计算框架的框架管理平台(实际上是资源管理平台)呢,而YARN正是干这件事情的东西。

YANR本质上是一个资源统一管理系统,这一点与几年前的mesos( http://www.mesosproject.org/),更早的Torque( http://www.adaptivecomputing.com/products/open-source/torque/)基本一致。将各种框架运行在YARN之上,可以实现框架的资源统一管理和分配,使他们共享一个集群,而不是“一个框架一个集群”,这可大大降低运维成本和硬件成本。
如果你还没有意识到当前已经进入多计算框架纵横捭阖的新时代,那让我来给你细数一下当前出现的,已小有名气的计算框架吧:

1) MapReduce:  这个框架人人皆知,它是一种离线计算框架,将一个算法抽象成Map和Reduce两个阶段进行处理,非常适合数据密集型计算。

2) Spark:  我们知道,MapReduce计算框架不适合(不是不能做,是不适合,效率太低)迭代计算(常见于machine learning领域,比如PageRank)和交互式计算(data mining领域,比如SQL查询),MapReduce是一种磁盘计算框架,而Spark则是一种内存计算框架,它将数据尽可能放到内存中以提高迭代应用和交互式应用的计算效率。官方首页: http://spark-project.org/

3) Storm:  MapReduce也不适合进行流式计算、实时分析,比如广告点击计算等,而Storm则更擅长这种计算、它在实时性要远远好于MapReduce计算框架。官方首页: http://storm-project.net/

4) S4: Yahoo开发的流式计算框架,与Storm较为类似。官方首页: http://incubator.apache.org/s4/

5) Open MPI: 非常经典的消息处理框架,非常适合高性能计算,现在仍被广泛使用。

6) HAMA:  基于BSP(bulk-synchronous parallel model)模型的分布式计算框架,与Google的Pregel类似,可用于大规模科学计算,如矩阵,图算法,网络算法等,官方首页: http://hama.apache.org/

7) Cloudera Impala/ Apache Drill: 基于Hadoop的更快的SQL查询引擎(比Hive快得多),Google Dremel的模仿者。Cloudera Impala官方首页: https://github.com/cloudera/impala,Apache Drill官方首页: http://incubator.apache.org/drill/

8) Giraph:图算法处理框架,采用BSP模型,可用于计算pagerank,shared connections, personalization-based popularity等迭代类算法。官方首页: http://giraph.apache.org/

上面很多框架正在或正准备往YARN上迁移,具体见: http://wiki.apache.org/hadoop/PoweredByYarn/

(3) 框架升级更容易

在YARN中,各种计算框架不再是作为一个服务部署到集群的各个节点上(比如MapReduce框架,不再需要部署JobTracler、TaskTracker等服务),而是被封装成一个用户程序库(lib)存放在客户端,当需要对计算框架进行升级时,只需升级用户程序库即可,多么容易!

总结

YARN是在Hadoop 1.0基础上衍化而来的,它具有比Hadoop 1.0更为先进的理念和思想,它充分吸取了Hadoop 1.0的优势,但同时增加了很多新的特性和改进点。即使你不使用YARN,研究YARN对于改进你们当前Hadoop版本仍有巨大的帮助。

需要说明的是,由于YARN是一个崭新的系统,它完全不同于Hadoop 1.0。对于一般公司而言,将旧Hadoop系统往YARN上移植将是一件十分困难的事情,因为不同公司对YARN进行了或多或少的改造,这些改造或许已经不再兼容于主流的Hadoop版本。当向YARN升级时,你需要对兼容性进行充分的测试,以确保当前运行的作业仍可以正常地运行在移植后的系统上。 另外,需要引起注意的是,YARN会给运维人员带来巨大的麻烦,毕竟它是一个新系统。

当然,当前YARN还不成熟,仍处于高速酝酿阶段,讨论如何在线上使用它仍为时过早。不过,开始研究和学习它,作为一名有进取心和前瞻眼光的hadoopor,仍是十分必要的。

原创文章,转载请注明: 转载自 董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/what-can-we-benifit-from-yarn/


Copyright © 2012
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)

相关 [mrv1 yarn] 推荐:

相比于MRv1,YARN带来的优势是什么?

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce-nextgen/what-can-we-benifit-from-yarn/. 最近一段时间,经常看到有人在微博上说,“很多公司暂时用不到YARN,因为一般公司的集群规模并未像Yahoo、Facebook那样达到几千台,甚至将来几万台”.

YARN/MRv2 NodeManager整体架构

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce-nextgen/nodemanager-architecture/. (注:本文章主要翻译自Hortonworks官方博客的 “Apache Hadoop YARN – NodeManager”,红色部分为我的注解.

文章: Arun Murthy谈Apache YARN

- - InfoQ cn
Apache Hadoop YARN是一种新的Hadoop资源管理器,前不久被提升为高层次的Hadoop子项目. InfoQ有幸在Hortonworks与YARN的创始人和架构师Arun Murthy进行了讨论. 黑客马拉松•杭州 12月15-16日-Hacking Different,名额有限,请速报名.

一文精通 Flink on YARN

- - IT瘾-dev
本文主要是讲解flink on yarn的部署过程,然后yarn-session的基本原理,如何启动多个yarn-session的话如何部署应用到指定的yarn-session上,然后是用户jar的管理配置及故障恢复相关的参数. flink on yarn的整个交互过程图,如下:. 要使得flink运行于yarn上,flink要能找到hadoop配置,因为要连接到yarn的resourcemanager和hdfs.

Yarn(MR2)上的应用汇总

- - BlogJava-首页技术区
Yarn做为hadoop下一代集群资源管理和调度平台, 其上能支持多种计算框架, 本文就简要介绍一下这些计算框架.. 首先是大家熟悉的mapreduce, 在MR2之前, hadoop包括HDFS和mapreduce, 做为hadoop上唯一的分布式计算框架, 其优点是用户可以很方便的编写分布式计算程序, 并支持许多的应用, 如hive, mahout, pig等.

YARN/MRv2 中基本术语介绍

- - 董的博客
YARN/MRv2是下一代MapReduce框架(见 Hadoop-0.23.0),该框架完全不同于当前的MapReduce框架,它在扩展性,容错性和通用性等方面更出色,据统计,Yarn有超过150000行代码,完全是重写编写的. 本文介绍了YARN/MRv2中基本术语的含义,帮助有兴趣的程序员们对YARN有一个初步的理解.

Hadoop YARN安装部署初探

- - 董的博客
Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/. 本文主要介绍了在实验环境下,能使YARN(以CDH4为例,Apache版本安装方法类似)正常工作的最简单的配置部署方法.

YARN/MRv2 MRAppMaster深入剖析—概述

- - 董的博客
Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce-nextgen/yarn-mrappmaster-introduction/. 1. 什么是MRAppMaster.

YARN 的介绍及实践探索

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

浅谈Borg/YARN/Mesos/Torca/Corona一类系统

- - 董的博客
Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce-nextgen/borg-yarn-mesos-torca-corona/. Borg(来自Google), YARN(来自Apache,属于Hadoop下面的一个分支,开源), Mesos(来自Twitter,开源), Torca(来自腾讯搜搜), Corona(来自Facebook,开源)一类系统被称为资源统一管理系统或者资源统一调度系统,它们是大数据时代的必然产物.