Mesos:一个开源的分布式弹性资源管理系统

Posted hadoop123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mesos:一个开源的分布式弹性资源管理系统相关的知识,希望对你有一定的参考价值。

点击hadoop123关注我哟

最知名的hadoop/spark大数据技术分享基地,分享hadoop/spark技术内幕hadoop/spark最新技术进展hadoop/spark行业技术应用发布hadoop/spark相关职位和求职信息hadoop/spark技术交流聚会讲座以及会议等。

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的支持。


Mesos与YARN简单对比

实现语

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)

CentOS7部署Apache Mesos

干货|Mesos分布式集群管理最佳实践

部署Mesos+zookeeper+Marathon+Docker实战

Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践

Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践