作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明
网址: http://dongxicheng.org/apache-mesos/mesos-and-yarn/
本博客的文章集合: http://dongxicheng.org/recommend/
本博客微信公共账号:hadoop123(微信号为:hadoop-123),分享hadoop技术内幕,hadoop最新技术进展,发布hadoop相关职位和求职信息,hadoop技术交流聚会、讲座以及会议等。二维码如下:
Mesos是一个开源的资源管理系统,可以对集群中的资源做弹性管理,目前twitter, apple等公司在大量使用mesos管理集群资源,大家记得apple的siri吗,它的后端便是采用的mesos进行资源管理(自行在网上查找文章:“新一代Siri后端将采用开放源代码平台Mesos”)。国内也有零零散散的公司在使用mesos,比如豆瓣。
Mesos是高仿google内部的资源管理系统borg(论文已经发表)实现的,随着近期它对docker容器支持的越来越好,将备受关注。(注:Mesosphere,一家试图围绕 Apache Mesos 项目开展商业活动的公司,不久前从 Andreessen Horowitz 那里获得了 1000 万美元投资。他做的事情就是用开源方案实现一个borg,选用的技术栈是:mesos+docker)。
谈到资源管理系统,更多人一下子想到的是Hadoop生态系统中的YARN,如何看待它与mesos的关系。
目前看来,Hadoop YARN要比Mesos更主流,前景更广阔。YARN在实现资源管理的系统前提下,能够跟hadoop生态系统完美结合,在YARN的东家hortonworks看来,YARN定位为大数据中的数据操作系统,能够更好地为上层各类应用程序(MapReduce/Spark)提供资源管理和调度功能。另外,非常重要的一点,YARN的社区力量要比Mesos强大的多,它的参与人员众多,周边系统的建设非常完善(包括最新诞生的apache二级项目Twill, Apache Twill ,cloudera的Kitten,均是方便大家使用YARN而诞生的项目)。
YARN是从MapReduce中演化而来的,因而在大数据处理中扮演重要角色,但这也使得它受限:它现在还不能看做是一个通用的资源管理系统,太多的内部实现过于狭隘,比如资源申请和分配模型,对长服务的支持等。不过,YARN自己仍把它定位在通用资源管理系统上,因而在不断改进,比如最近的版本中,增加了对长服务和docker的支持。
下面是Meos和YARN的对比:
总结
目前Mesos和YARN的优势还是稍有不同的,YARN更多地是用在大数据平台中,对上层计算框架支持的非常好;而Mesos更多是定位在资源的抽象和管理上,以便支持各种应用,不仅仅是计算框架。不过,随着两者的不断完善,他们之间的界限越来越模糊。