显示标签为“Mesos”的博文。显示所有博文
显示标签为“Mesos”的博文。显示所有博文

2016年9月22日星期四

Mesos_002:Mesos 架构(摘录+整理)

Mesos 实现了两级调度架构,可以管理多种类型的应用程序。


第一级调度是 Master 的守护进程,管理 Mesos 集群中所有节点上运行的 Slave 守护进程。
集群由物理机/虚拟机组成,用于运行应用程序的任务,比如 Hadoop 和 MPI。
第二级调度由 Framework 组件完成,Framework 包括调度器(Scheduler)和执行器(Executor)进程,其中每个节点上都会运行执行器。
Mesos 能和不同类型的 Framework 通信,每种 Framework 由相应的应用集群管理,图中展示了 Hadoop 和 MPI 两种类型,其它类型的应用程序也有相应的 Framework。
每种 Framework 都需要注册到 Master 上。

Master 协调全部的 Slave,并确定每个节点的可用资源,聚合计算跨节点的所有可用资源,然后向注册到 Master 的 Framework 发出资源邀约。
Framework 可以根据应用程序的需求,选择接受或拒绝来自 Master 的资源邀约。
一旦接受邀约,Master 即协调 Framework 和 Slave,调度节点上任务,并在容器中执行。
多种类型的任务,比如 Hadoop 和 Cassandra,可以在同一个节点上同时运行,这正是使用 Mesos 的好处之一。

Mesos 的设计具有包容性、模块化,核心功能插件化,比如分配策略、隔离机制和 Framework。
特别是 Framework,每接入一种新的 Framework,Master无需为此编码,Slave 模块可以复用。开发者可以专注于他们的应用和 Framework 自身。

了解了 Mesos 架构,还有一个问题不可避免,那就是 Mesos 适合作为数据中心的哪一层的抽象?
我们知道,IaaS 层抽象的是机器,而 PaaS 层考虑更多是部署和管理应用/服务,它并不关心底层的那些基础架构。
Mesos 这一层抽象的是 CPU、内存、网络,其目的是为运行其上的框架提供抽象后的资源池,使得这些框架更加易于构建和运行。
因此 Mesos 应该位于 IaaS 层和 PaaS 层之间。
换言之,你可以在一个 IaaS 上运行 Mesos(比如 OpenStack);可以基于 Mesos 之上构建一个 PaaS 系统(比如 Marathon)。


Mesos 是为构建和运行其它分布式系统(比如 Spark)提供服务的分布式系统。

参考文献:
1. http://www.open-open.com/news/view/139b98b Mesos vs Kubernetes
2. http://dockone.io/article/686 谈谈Apache Mesos和Mesosphere DCOS:历史、架构、发展和应用
3. http://dongxicheng.org/mapreduce-nextgen/mesos_vs_yarn/ 统一资源管理与调度平台(系统)介绍
4. http://dongxicheng.org/apache-mesos/meso-architecture/ Apache Mesos总体架构
5. http://www.infoq.com/cn/articles/analyse-mesos-part-01/ 深入浅出Mesos(一):为软件定义数据中心而生的操作系统
6. http://www.infoq.com/cn/articles/analyse-mesos-part-02/ 深入浅出Mesos(二):Mesos的体系结构和工作流
7. http://www.infoq.com/cn/articles/analyse-mesos-part-03/ 深入浅出Mesos(三):持久化存储和容错
8. http://www.infoq.com/cn/articles/analyse-mesos-part-04/ 深入浅出Mesos(四):Mesos的资源分配
9. http://www.infoq.com/cn/articles/analyse-mesos-part-05/ 深入浅出Mesos(五):成功的开源社区
10. http://www.infoq.com/cn/articles/analyse-mesos-part-06/ 深入浅出Mesos(六):亲身体会Apache Mesos

Mesos_001:Mesos 是什么?(摘录+整理)

Mesos 是分布式系统的内核,其设计宗旨在于尝试和提高集群的效能和性能。
Mesos 官网:http://mesos.apache.org

软件定义数据中心(Software Define Data Center),具备把硬件虚拟化成为资源池的能力。
对于应用程序来说,底层的基础架构将被抽象出来,并能够根据应用程序不断变化的需求,动态且自动地分配、重新分配资源给应用程序。
而应用程序运行于数据中心的不同组件之中。

原有的数据中心,以物理机/虚拟机为管理单元,粒度不够精细,运行其上的应用程序过于庞大,难以提高集群的效能和性能。




如今,飞速发展的容器技术、分布式应用程序和微服务技术正悄然改变着数据中心的运行和管理方式。

试想,可否整合数据中心中的所有资源,并将它们放在一个大的虚拟池里,代替单独的物理服务器;然后开放诸如 CPU、内存和 I/O 这些基本资源而不是虚拟机?
可否把应用程序拆分成小的、隔离的任务单位,从而根据数据中心应用的需求,从虚拟数据中心池中动态分配任务资源?
就像操作系统把 CPU 和内存放入资源池,使其可以为不同的进程协调分配和释放资源。
也就是说,把 Mesos 看做操作系统内核,把数据中心看为 PC 机。


Mesos 正在让软件定义数据中心成为现实。

参考文献:
1. http://www.open-open.com/news/view/139b98b Mesos vs Kubernetes
2. http://dockone.io/article/686 谈谈Apache Mesos和Mesosphere DCOS:历史、架构、发展和应用
3. http://dongxicheng.org/mapreduce-nextgen/mesos_vs_yarn/ 统一资源管理与调度平台(系统)介绍
4. http://dongxicheng.org/apache-mesos/meso-architecture/ Apache Mesos总体架构
5. http://www.infoq.com/cn/articles/analyse-mesos-part-01/ 深入浅出Mesos(一):为软件定义数据中心而生的操作系统
6. http://www.infoq.com/cn/articles/analyse-mesos-part-02/ 深入浅出Mesos(二):Mesos的体系结构和工作流
7. http://www.infoq.com/cn/articles/analyse-mesos-part-03/ 深入浅出Mesos(三):持久化存储和容错
8. http://www.infoq.com/cn/articles/analyse-mesos-part-04/ 深入浅出Mesos(四):Mesos的资源分配
9. http://www.infoq.com/cn/articles/analyse-mesos-part-05/ 深入浅出Mesos(五):成功的开源社区
10. http://www.infoq.com/cn/articles/analyse-mesos-part-06/ 深入浅出Mesos(六):亲身体会Apache Mesos