Mesos能做什么?
想知道Mesos能做什么先来看一段短剧吧:
狄仁杰:我新买了一台电脑,想在上面装各种应用软件。元芳,此事你怎么看?
元芳:回大人,那就装一个windows或者linux、MacOS操作系统吧。操作系统装好后,应用软件随便装。
狄仁杰:那如果我去买一个数据中心呢?一堆的物理服务器,想在上面跑各种应用系统,又该如何选择呢?
元芳:回大人,以我多年的虚拟化经验来看,我们可以在上面装一套hyperviser,比如VMware。上面可以装更多的操作系统,更多的应用软件,还可以让应用在物理机间飘来飘去。
狄仁杰:此事甚得我意。但我最近听闻美利坚弄出了一种新的功夫,可以把整个数据中心当作一台电脑使用,不用再关心操作系统和虚拟化软件的事情了。元芳,你怎么看?
元芳:大人,我觉得此事必有蹊跷,背后可能又一个天大的秘密。带我去美利坚考察一番,再像您汇报。
。。。。
元芳借机从财务司拨款,去美利坚公费旅游了一个月后,成功归来。
元芳:回大人,属下已有所获。美利坚新练的一套武功叫做Mesos,确实非常神奇。不管您之前在数据中心里装的什么操作系统(windows、linux、macos),也不管您想安装部署什么软件(spark大数据、jenkins自动部署、marathon应用长跑),只要Mesos神功一发力,就全部自动解决了。美利坚人还给他取了个高大上的名字,叫做分布式操作系统内核。有了这套武功,数据中心的所有资源就可以统一管理了,各套应用想怎么分配就怎么分配,想隔离就隔离,想共享就共享。
狄仁杰:如此神奇,那本官必须也得苦练一番了。以后就用这套武功来管理你们,省得我府内有的人偷懒耍滑出工不出活,有的人借探案之名公费旅游胡乱报销。所有的工资开销和探案结果挂钩,做到全府资源Mesos统一管理。
元芳:原来大人要管的不只是数据中心啊。。。
狄仁杰:啊哈哈,大人的每个问题当然都颇有深意的啦。
元芳: 大人果然就是大人!(为自己摸了一把冷汗)
相信大家看了这段短剧,应该对于Mesos的特点有所了解了吧。
Apache Mesos是一个集群管理器,可跨分布式应用程序或框架提供有效的资源隔离和共享。作为分布式操作系统内核,让用户可以像用一台电脑(一个资源池)一样使用整个数据中心。
Mesos是以与Linux内核同样的原则而创建的,不同点仅仅是在于抽象的层面。Mesos内核运行在每一个机器上,同时通过API为各种应用提供跨数据中心和云的资源管理调度能力。这些应用包括Hadoop、Spark、Kafka、Elastic Search。还可配合框架 Marathon 来管理大规模的Docker等容器化应用。
Marathon又是做什么的呢?
是这个吗?
嗯嗯,很类似。Marathon就是应用部署领域的马拉松。本质上,Marathon是一个mesos框架,能够支持运行长服务(比如Web应用等)。如果将Mesos类比为操作系统的内核,负责资源调度;则Marathon可以类比为服务管理系统,比如init,systemd或upstart等系统,用来管理应用的状态信息。Marathon将应用程序部署为长时间运行的Mesos任务,并调用Mesos管理的资源实现应用的业务需求。
Mesos和Marathon的发展
2010年,一个旨在解决扩容问题的项目在美国加州大学伯克利分校诞生,这个就是Apache Mesos的前生。它在一定程度上对CPU、内存、磁盘资源进行了抽象,从未允许整个数据中心作为一体进行运转和管理。
在之后的一年中,Mesos得到了Twitter的大力支持,并部署到了其实际的运营环境中。
Mesos从一开始就是专门面向大客户的,之后陆续在Apple、Verizon、Yelp和Netflix都有应用,并且在数千台服务器上运行了数十万个容器。
而Marathon作为Mesos应用调度框架中最知名的一款软件,由Mesosphere公司开发后,经常在各类技术大会上和Mesos配对出现,作为实现DCOS(数据中心操作系统)这个完整的全自动数据中心解决方案的核心环节。
Mesos和Marathon这一对兄弟,有着大量的成功案例,不管是在国外的互联网企业还是国内的电信运营商中都大量被使用和验证。是一款可以和当前做火热的Kubernetes相PK的开源容器编排和应用部署解决方案。
小结
在本节课程中,我们学习了Mesos和Marathon的基本概念、用途和历史。接下来,我们将带着大家进一步了解这两款开源软件的核心功能和使用场景。