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

标签: 下一代MapReduce(YARN) Borg Corona Hadoop Mesos | 发表时间:2013-03-09 08:48 | 作者:Dong
出处:http://dongxicheng.org
作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明
网址: http://dongxicheng.org/mapreduce-nextgen/borg-yarn-mesos-torca-corona/

Borg(来自Google), YARN(来自Apache,属于Hadoop下面的一个分支,开源), Mesos(来自Twitter,开源), Torca(来自腾讯搜搜), Corona(来自Facebook,开源)一类系统被称为资源统一管理系统或者资源统一调度系统,它们是大数据时代的必然产物。概括起来,这类系统设计动机是解决以下两类问题:

(1) 提高集群资源利用率

在大数据时代,为了存储和处理海量数据,需要规模较大的服务器集群或者数据中心,一般说来,这些集群上运行着数量众多类型纷杂的应用程序和服务,比如离线作业,流式作业,迭代式作业,crawler server,web server等,传统的做法是,每种类型的作业或者服务对应一个单独的集群,以避免相互干扰。这样,集群被分割成数量众多的小集群,有的集群运行Hadoop,有的运行Storm,有的运行Spark,有的运行web server,然而,由于不同类型的作业/服务需要的资源量不同,因此,这些小集群的利用率通常很不均衡,有的集群满负荷、资源紧张,而另外一些则长时间闲置、资源利用率极低,为了提高资源整体利用率,一种解决方案是将这些小集群合并成一个大集群,让它们共享这个大集群的资源,并由一个资源统一调度系统进行资源管理和分配,这就诞生了Borg,YARN,Mesos,Torca,Corona。从集群共享角度看,这类系统实际上将公司的所有硬件资源抽象成一个台大型计算机,供所有用户使用。

(2) 服务自动化部署

一旦将所有计算资源抽象成一个“大型计算机”后,就会产生一个问题:公司的各种服务如何进行部署?同样,Borg/YARN/Mesos/Torca/Corona一类系统需要具备服务自动化部署的功能,因此,从服务部署的角度看,这类系统实际上是服务统一管理系统,这类系统提供服务资源申请,服务自动化部署,服务容错等动能。

以上只是简单的介绍了这一类系统的设计动机和产生背景,接下来从两个角度解析这类系统。

角度一:数据中心编程

任何一个公司内部所有的硬件资源均可看做一个数据中心,通过Borg/YARN/Mesos/Torca/Corona一类系统对这些资源进行统一管理后,用户所有的程序和服务将通过一个统一入口进入数据中心,并由这类系统为之分配资源、监控程序和服务运行状态,并在失败时启用必要的容错机制,汇报程序的执行进度等,而至于应用程序或者服务运行在具体哪台机器上,所在机器的ip、端口号是什么,则用户无需管理,全部交由统一管理系统进行管理(用户也许可以查询到)。

具体说来,采用此类系统之后,当用户执行应用程序或者部署服务时,只需通过一个配置文件描述应用程序或服务需要的资源(比如CPU、内存、磁盘、操作系统类型等)、待执行的命令、依赖的外部文件等信息,然后通过一个客户端提交到Borg/YARN/Mesos/Torca/Corona上,剩下的工作则完全交给系统。

角度二:生态系统

从另外一个角度看,Borg/YARN/Mesos/Torca/Corona一类系统可以为公司构建一个内部的生态系统,所有应用程序和服务可以“和平而友好”地运行在该生态系统上。有了这类系统之后,你不必忧愁使用Hadoop的哪个版本,是Hadoop 0.20.2还是 Hadoop 1.0,你也不必为选择何种计算模型而苦恼,因此各种软件版本,各种计算模型可以一起运行在一台“超级计算机”上了。

从开源角度看,YARN的提出,从一定程度上弱化了多计算框架的优劣之争。YARN是在Hadoop MapReduce基础上演化而来的,在MapReduce时代,很多人批评MapReduce不适合迭代计算和流失计算,于是出现了Spark和Storm等计算框架,而这些系统的开发者则在自己的网站上或者论文里与MapReduce对比,鼓吹自己的系统多么先进高效,而出现了YARN之后,则形势变得明朗:MapReduce只是运行在YARN之上的一类应用程序抽象,Spark和Storm本质上也是,他们只是针对不同类型的应用开发的,没有优劣之别,各有所长,合并共处,而且,今后所有计算框架的开发,不出意外的话,也应是在YARN之上。这样,一个以YARN为底层资源管理平台,多种计算框架运行于其上的生态系统诞生了。

这一篇和上一篇 《多集群下资源共享方案介绍》内容有些重复,我一直在反反复复强调资源管理/调度系统,目的只有一个,我想告诉大家:YARN时代来了!(所有的软件和服务都在往YARN上移,包括MapReduce,Spark,Storm,MPI,HBase部署等…..)

参考资料:

Borg: http://www.quora.com/What-is-Borg-at-Google

YARN: http://dongxicheng.org/mapreduce-nextgen/nextgen-mapreduce-introduction/

Mesos: http://www.mesosproject.org/

Torca: http://djt.qq.com/thread-29998-1-2.html

Mesos与YARN比较: http://dongxicheng.org/mapreduce-nextgen/mesos_vs_yarn/

Corona: http://dongxicheng.org/hadoop-corona/hadoop-corona/

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

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/borg-yarn-mesos-torca-corona/

作者: Dong,作者介绍: http://dongxicheng.org/about/


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:
)

相关 [borg yarn mesos] 推荐:

浅谈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,开源)一类系统被称为资源统一管理系统或者资源统一调度系统,它们是大数据时代的必然产物.

Mesos与Openstack

- - 企业架构 - ITeye博客
本文是 Quora 上的一个问题,提问者对于私有云未来的发展趋势感到疑惑,Mesos和OpenStack的关系是怎样的,它们之间是否可以相互替代. 来自 Mesosphere以及Rackspace的专家们从OpenStack与Mesos的功能和产品定位上对这个问题进行了解读,它们之间的关系并非互相 替代,.

Borg论文读后感

- - HelloJava微信公众账号网站
Borg之前号称是G家内部和PageRanking可以相提并论的同等重量级的东西,在之前终于是对外发论文了,这篇论文一出就引起了很多人的关注,我的团队在这个方面也做了几年,尽管之前从各种渠道也对Borg有一定了解,但论文揭露的很多内容还是我以前都完全不知道的,个人觉得这篇论文还算挺实在的,G家把自己的很多数据、经验都公开出来了,所以确实值得做资源管理和调度的同学看看.

Mesos上部署spark

- - 开源小站
还是回到之前一直持续的 Mesos话题. 在之前的环节里,我们已经尝试了Mesos的安装,Marathon守护服务以及相对比较主流的Mesos作为Hadoop的资源管理器的实际操作. 这次就说说同属于伯克利出品的Spark. 其实spark最初0.7以前的版本还没有自己的资源管理系统,资源的调度都是通过Mesos来执行的.

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.

Apache Mesos的真实使用场景

- - ITeye资讯频道
【编者的话】文中内容来源于stackoverflow上的一个问题 ,提问者想知道Mesos在实际的使用中都有哪些使用场景,来自Twitter的工程师从容器编排、资源利用率、优先级和资源抢占、以及服务运行等几个角度,对问题进行了回答. 我尝试探究用户使用Mesos的原因究竟有哪些,以下是暂时列出的几个要点,不知道还有没有其他的例子.

使用Mesos和Marathon管理Docker集群

- - zzm
分 布式系统是难于理解、设计、构建 和管理的,他们将比单个机器成倍还要多的变量引入到设计中,使应用程序的根源问题更难发现. SLA(服务水平协议)是衡量停机和/或性能下降的标准,大多 数现代应用程序有一个期望的弹性SLA水平,通常按"9"的数量增加(如,每月99.9或99.99%可用性).    分布式系统通常是以静态分区,比如Akka/Play、 Spark/Hadoop、Storm和 Redis各自分区分组划分.

畅谈 Mesos 生态圈系列

- - 编程语言 - ITeye博客
Apache Mesos 是 Apache 基金会下的一个分布式资源管理框架,它被称为是分布式系统的内核. Mesos 结合容器化技术提供了有效的,跨分布式应用或框架的资源隔离和分享机制,可以做为 Hadoop、Mpi、Hypertable、Spark、 Elasticsearch 等各种分布式应用的资源管理平台.