Mesos总体架构介绍.docVIP

  • 24
  • 0
  • 约4.5千字
  • 约 3页
  • 2019-07-03 发布于广西
  • 举报
Mesos总体架构介绍 第 PAGE \* Arabic \* MERGEFORMAT 3 页 Mesos总体架构介绍 简介 Mesos是一个管理器,它通过分布式的应用或框架提供了一种高效的资源隔离和共享,它处于应用层和操作系统之间,使其易于部署,并使得在大规模集群环境中部署应用变得更高效。 Mesos是一个master/slave结构,其中,master是非常轻量级的,仅保存了framework(各种计算框架称为framework)和mesos slave的一些状态,而这些状态很容易通过framework和slave重新注册而重构,因而很容易使用了zookeeper解决mesos master的单点故障问题。 Mesos master实际上是一个全局资源调度器,采用某种策略将某个slave上的空闲资源分配给某一个framework,各种framework通过自己的调度器向Mesos master注册,以接入到Mesos中;而Mesos slave主要功能是汇报任务的状态和启动各个framework的executor。 基本术语解释 Mesos-master:主要负责管理各个framework和slave,并将slave上的资源分配给各个framework。 Mesos-slave:负责管理本节点上的各个mesos-task。 Framework:计算框架,比如Hadoop、Spark等。 Executor:执行器,安装到mesos-slave上,用于启动计算框架中的task。 架构介绍 Mesos-master是整个系统的核心,负责管理接入mesos的各个framework(由frameworks_manager管理)和slave(由slaves_manager管理),并将slave上的资源按照某种策略分配给framework(由独立插拔模块Allocator管理)。 Mesos-slave负责接收并执行来自mesos-master的命令、管理节点上的mesos-task,并为各个task分配资源。mesos-slave将自己的资源量发送给mesos-master,由mesos-master中的Allocator模块决定将资源分配给哪个framework,当前考虑的资源有CPU和内存两种,也就是说,mesos-slave会将CPU个数和内存量发送给mesos-master,而用户提交作业时,需要指定每个任务需要的CPU个数和内存量,这样,当任务运行时,mesos-slave会将任务放到包含固定资源的linux container中运行,以达到资源隔离的效果。很明显,master存在单点故障问题,为此,mesos采用了zookeeper解决该问题。 Framework是指外部的计算框架,如Hadoop,Spark等,这些计算框架可通过注册的方式接入mesos,以便mesos进行统一管理和资源分配。Mesos要求可接入的框架必须有一个调度器模块,该调度器负责框架内部的任务调度。当一个framework想要接入mesos时,需要修改自己的调度器,以便向mesos注册,并获取mesos分配给自己的资源, 这样再由自己的调度器将这些资源分配给框架中的任务,也就是说,整个mesos系统采用了双层调度框架:第一层,由mesos将资源分配给框架;第二层,框架自己的调度器将资源分配给自己内部的任务。当前Mesos支持三种语言编写的调度器,分别是C++,java和python,为了向各种调度器提供统一的接入方式,Mesos内部采用C++实现了一个MesosSchedulerDriver(调度器驱动器),framework的调度器可调用该driver中的接口与Mesos-master交互,完成一系列功能(如注册,资源分配等)。 Executor主要用于启动框架内部的task。由于不同的框架,启动task的接口或者方式不同,当一个新的框架要接入mesos时,需要编写一个executor,告诉mesos如何启动该框架中的task。为了向各种框架提供统一的执行器编写方式,Mesos内部采用C++实现了一个MesosExecutorDiver(执行器驱动器),framework可通过该驱动器的相关接口告诉mesos启动task的方法。 Mesos 由管理运行在各个集群节点上的 slave 守护进程的?master 进程以及在这些 slave 上运行任务的?framework?组成。master 通过 framework 使用资源提供实现了细粒度的共享。每个资源提供是一个各个 slave 上空闲资源的列表。master 通过编制的策略,如公平共享或设置优先级,来决定为每个 framework 提供多少资源。为了支持一组不同内部框架分配策略,Meso

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档