简介Mesosphere

Mesosphere是一个软件解决方案,在ApacheMesos与附加组分的群集管理功能扩展为提供管理服务器的基础设施一个新的和新颖的方法。通过组合Mesos几个组件,例如马拉松和Chronos的,...

什么是Mesosphere

Mesosphere是一个软件解决方案,它扩展了Apache Mesos的集群管理功能以及其他组件,以提供一种全新的管理服务器基础架构的新方法。通过将几个组件与Mesos(如Marathon和Chronos)组合,Mesosphere提供了一种方法,通过抽象化缩小与缩放相关的许多挑战来轻松扩展应用程序。 Mesosphere提供了诸如应用调度,缩放,容错和自愈等功能。它还提供应用程序服务发现,端口统一和端点弹性。 为了更好地了解Mesosphere如何提供上述功能,我们将简要解释Mesosphere的每个关键组件,从Apache Mesos开始,并显示每个在Mesosphere的上下文中如何使用。

Apache Mesos的基本概述

Apache Mesos是一个开源集群管理器,简化了在可扩展服务器集群上运行的应用程序,是Mesosphere系统的核心。 Mesos提供了许多您期望从集群管理器的功能,例如:
  • 可扩展到超过10,000个节点
  • 通过Linux容器的任务的资源隔离
  • 高效的CPU和内存感知资源调度
  • 通过Apache ZooKeeper高可用的主机
  • 用于监控集群状态的Web UI

Mesos建筑

Mesos有一个由主从守护进程和框架组成的体系结构。下面是这些组件的快速细分,以及一些相关术语:
  • 主守护进程 :运行在主节点上并管理从后台程序
  • 从守护程序 :运行在主节点上,并运行属于框架任务
  • 框架 :又称Mesos应用程序,由一个调度程序 ,它与主注册接受资源计划书 ,以及一个或多个执行者 ,这将启动对Minion的任务 。 Mesos框架的示例包括Marathon,Chronos和Hadoop
  • 报价 :从属节点的可用的CPU和内存资源列表。所有从节点向主机发送报价,主机向已注册的框架提供报价
  • 任务 :由一个框架预定的,和从属节点上执行的工作单元。任务可以是从bash命令或脚本到SQL查询到Hadoop作业的任何内容
  • Apache的ZooKeeper:用于协调主节点软件
Mesos建筑 注:“ZK”表示动物园管理员此图所示。 这种架构允许Mesos在具有高级别粒度的应用程序之间共享集群的资源。提供给特定框架的资源量基于主节点上设置的策略,框架调度器决定使用哪个优惠。一旦框架调度器决定要使用哪个提供,它告诉Mesos哪些任务应该被执行,并且Mesos在适当的从属上启动任务。在任务完成并且消耗的资源被释放之后,资源提供周期重复,从而可以调度更多的任务。

高可用性

Mesos大师集群中的高可用性是通过使用Apache的ZooKeeper的复制大师法定人数启用。 ZooKeeper还协调主控领导者选举,并处理Mesos组件(包括从属和框架)中的领导者检测。 对于高可用性配置,至少需要三个主节点 - 三主设置允许在单个主节点发生故障时维护仲裁 - 但是对于弹性生产环境,建议使用五个主节点,从而允许仲裁维护与两个主节点脱机。 欲了解更多关于Apache Mesos,请访问其官方文档页面

马拉松的基本概述

马拉松是用于被设计为发射长期运行的应用程序,并且,在MesosphereMesos一个框架,用作一个传统的替代init系统。它具有许多功能,可以简化集群环境中运行的应用程序,例如高可用性,节点约束,应用程序运行状况检查,脚本性和服务发现API以及易于使用的Web用户界面。它将其缩放和自我修复功能添加到Mesosphere功能集。 Marathon可以用于启动其他Mesos框架,并且还可以启动可以在常规Shell中启动的任何进程。由于它是为长期运行的应用程序设计的,它将确保已启动的应用程序将继续运行,即使它们运行的从属节点发生故障。 欲了解更多有关马拉松,请访问其网页GitHub的

Chronos基本概述

Chronos的是最初由发现生活怎样开发作为替换Mesos一个框架cron 。因此,它是一个功能齐全,分布式,容错的Mesos调度程序,它简化了任务的编排,这是任务的集合。它包括一个允许调度作业的脚本的API,以及一个易于使用的Web UI。 在Mesosphere,Chronos赞美马拉松,因为它提供了另一种方式来运行应用程序,根据时间表或其他条件,如完成另一个工作。它还能够在多个Mesos从节点上调度作业,并提供有关作业失败和成功的统计信息。

HAProxy的基本概述

HAProxy是一个流行的开源负载均衡器和反向代理解决方案。它可以在Mesosphere中用于将来自已知主机(通常是Mesos主机)的网络流量路由到在Mesos从节点上运行的实际服务。 Mesos的服务发现功能可用于动态配置HAProxy以将入站流量路由到正确的后端从节点。 欲了解更多有关HAProxy的一般能力,看看我们的介绍HAProxy的

结论

Mesosphere采用了可能看起来不熟悉的服务器基础架构范例,因为它的设计强调了集群和可扩展性,但希望您现在能够很好地了解它的工作原理。它所基于的每个组件都提供了在处理服务器基础架构的集群和扩展时常常面临的问题的解决方案,而Mesosphere旨在为这些需求提供一个完整的解决方案。 现在你知道了Mesosphere的基本知识,看看这个系列的下一个教程。它会教你如何建立一个生产就绪的Mesosphere群集上的Ubuntu 14.04