Mesos:一个开源的分布式弹性资源管理系统
Posted hadoop123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mesos:一个开源的分布式弹性资源管理系统相关的知识,希望对你有一定的参考价值。
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,http://twill.incubator.apache.org/,cloudera的Kitten,均是方便大家使用YARN而诞生的项目)。
YARN是从MapReduce中演化而来的,因而在大数据处理中扮演重要角色,但这也使得它受限:它现在还不能看做是一个通用的资源管理系统,太多的内部实现过于狭隘,比如资源申请和分配模型,对长服务的支持等。不过,YARN自己仍把它定位在通用资源管理系统上,因而在不断改进,比如最近的版本中,增加了对长服务和docker的支持。
实现语言 |
C++ |
Java |
基本架构 |
master/slaves |
master/slaves |
资源分配 |
仿borg,可能出现资源饿死 |
基于资源预留的方案,资源利用率低下 |
对hadoop支持 |
粗粒度支持,hadoop直接以服务形式运行 |
细粒度支持,每个MR/Spark作业均是一个短应用 |
对docker支持 |
中等 |
很差 |
社区参与者 |
较少 |
众多 |
对长服务的支持 |
好 |
一般 |
两者关系 |
相互借鉴发展,比如YARN中的资源分配算法采用了mesos中的DRF(自己找论文),Mesos也像YARN一样越来越重视对hadoop以及上层计算框架的支持 |
目前Mesos和YARN的优势还是稍有不同的,YARN更多地是用在大数据平台中,对上层计算框架支持的非常好;而Mesos更多是定位在资源的抽象和管理上,以便支持各种应用,不仅仅是计算框架。不过,随着两者的不断完善,他们之间的界限越来越模糊。
以上是关于Mesos:一个开源的分布式弹性资源管理系统的主要内容,如果未能解决你的问题,请参考以下文章
使用Mesos管理Docker(Mesos+Marathon+Docker)
部署Mesos+zookeeper+Marathon+Docker实战