Mesos入门整理

来源:互联网 发布:魔爪软件下载 编辑:程序博客网 时间:2024/05/23 12:42

Mesos是什么

Mesos分布式操作系统内核 —— 像用一台电脑(一个资源池)一样使用整个数据中心
Mesos是以与Linux内核同样的原则而创建的,不同点仅仅是在于抽象的层面。Mesos内核运行在每一个机器上,同时通过 API 为各种应用提供跨数据中心和云的资源管理调度能力。这些应用包括Hadoop、Spark、Kafka、Elastic Search。还可配合框架 Marathon 来管理大规模的Docker等容器化应用。

Mesos特性

  • 线性可扩展性,可扩展到10000个节点
  • 高可用性,master和Slave容灾复制使用Zookeeper。 无中断升级。
  • 容器支持,使用Docker和AppC映像启动容器的本机支持。
  • 可插拔隔离,一级隔离支持CPU,内存,磁盘,端口,GPU和模块,用于自定义资源隔离。
  • 两级调度,支持使用可插拔调度策略在同一群集中运行云本机和遗留应用程序。
  • API, 用于开发新的分布式应用程序,用于操作集群和监视的HTTP API。
  • WEB UI,通过 Web界面查看集群状态
  • 交叉平台,在Linux,OSX和Windows上运行。 云提供商不可知。

Mesos是怎么工作的

这里写图片描述

组件介绍

Mesos-master:协调全部的slave,并确定每个节点的可用资源,聚合计算跨节点的所有可用资源的报告,然后向注册到Master的Framework发出资源邀约。【资源管理、节点管理、接收资源申请、接收提交任务】

  • Mesos-slave:向master汇报自己的空闲资源和任务的状态,负责管理本节点上的各个mesos-task,在framework成功向Master申请资源后,收到消息的slave会启动相应framework的exexutor【汇报资源、执行任务】
  • Framework:实际干活的,如Hadoop,Spark等,通过MesosSchedulerDiver接入Mesos,可以理解为 mesos 上跑的应用,需要注册到 master 上。
    一般包括两个主要组件:
  • scheduler:调度器,注册到主节点,按照作业分解为任务,并申请资源并监控任务运行状况(类似 YARN 中的 ApplicationMaster); executor:执行器,安装在 slave 节点上,负责执行本 framework的具体task。
  • framework 分两种:一种是对资源需求可以 scale up 或者 down 的(Hadoop、Spark);一种是对资源需求大小是固定的(MPI)。

双层调度

Master 根据一定策略(公平共享策略,或优先级策略【第一层】)决定为每个framework 提供多少资源, framework 的 scheduler 来选择其中提供的资源(框架内调度算法【第二层】)调度执行任务。当 framework 同意了提供的资源,它通过 master 将 task发送到提供资源的slaves 上运行。

过滤器

framework 可以通过过滤器机制告诉 master 它的资源偏好,比如希望分配过来的 offer 中节点上至少空闲多少资源,或者只接受某些节点。主要是为了加速资源分配的收敛。

回收机制

master 可以通过回收计算节点上的任务来动态调整长期任务和短期任务的分布。如果某个 framework 在超时内没有为分配的资源返回要运行的任务,则回收该资源。

资源供给的一个例子
下图描述了一个 Framework 如何通过调度来运行一个 Task
这里写图片描述

事件流程:

  1. Slave1 向 Master 报告,有4个CPU和4 GB内存可用
  2. Master 发送一个 Resource Offer 给Framework1 来描述 Slave1 有多少可用资源
  3. FrameWork1 中的 FW Scheduler会答复Master,我有两个 Task 需要运行在 Slave1,一个 Task 需要<2个cpu,1gb内存=”“>,另外一个Task需要<1个cpu,2 gb内存=”“
  4. Master 发送这些 Tasks 给Slave1。然后,Slave1还有1个CPU和1 GB内存没有使用,所以分配模块可以把这些资源提供给 Framework2

当 Tasks 完成和有新的空闲资源时,Resource Offer 会不断重复这一个过程。

扩展
http://dockone.io/article/1138
https://ask.hellobi.com/blog/marey_marey111/2696
http://www.infoq.com/cn/articles/analyse-mesos-part-06
http://dongxicheng.org/mapreduce-nextgen/mesos_vs_yarn/
http://blog.dataman-inc.com/guan-yu-mesosni-zhi-dao-duo-shao/
http://dockone.io/article/927

0 0
原创粉丝点击