Mesos 基本原理与架构

首先,Mesos 是一个资源调度框架,并非一整套完整的应用管理平台,本身是不能干活的。但是它可以比较容易的跟各种应用管理或者中间件平台整合,一起工作,提高资源使用效率。

架构

 master-slave
架构,master 使用
zookeeper 来做 HA。

master
单独运行在管理节点上,slave 运行在各个计算任务节点上。

各种具体任务的管理平台,即 framework 跟 master 交互,来申请资源。

基本单元

master

负责整体的资源调度和逻辑控制。

slave

负责汇报本节点上的资源给 master,并负责隔离资源来执行具体的任务。

隔离机制当然就是各种容器机制了。

framework

framework 是实际干活的,包括两个主要组件:

  • scheduler:注册到主节点,等待分配资源;
  • executor:在 slave 节点上执行本framework 的任务。

framework
分两种:一种是对资源需求可以 scale up 或者 down 的(Hadoop、Spark);一种是对资源需求大小是固定的(MPI)。

调度

对于一个资源调度框架来说,最核心的就是调度机制,怎么能快速高效的完成对某个 framework 资源的分配(最好是能猜到它的实际需求)。

两层调度算法:

master
先调度一大块资源给某个 framework,framework 自己再实现内部的细粒度调度。

调度机制支持插件。默认是 DRF。

基本调度过程

调度通过 offer 方式交互:

  • master
    提供一个 offer(一组资源) 给 framework;
  • framework 可以决定要不要,如果接受的话,返回一个描述,说明自己希望如何使用和分配这些资源(可以说明只希望使用部分资源,则多出来的会被 master 收回);
  • master
    则根据 framework 的分配情况发送给 slave,以使用 framework 的 executor 来按照分配的资源策略执行任务。

过滤器

framework 可以通过过滤器机制告诉 master 它的资源偏好,比如希望分配过来的 offer 有哪个资源,或者至少有多少资源。

主要是为了加速资源分配的交互过程。

回头机制

master
可以通过回收计算节点上的任务来动态调整长期任务和短期任务的分布。

HA

master

master 节点存在单点失效问题,所以肯定要上 HA,目前主要是使用 zookpeer 来热备份。

同时 master 节点可以通过 slave 和 framework 发来的消息重建内部状态(具体能有多快呢?这里不使用数据库可能是避免引入复杂度。)。

framework
通知

framework 中相关的失效,master 将发给它的 scheduler 来通知。

转载请注明:http://blog.csdn.net/yeasy/article/details/46609159 

时间: 2024-09-27 18:23:39

Mesos 基本原理与架构的相关文章

架构设计深入学习01--概论与预架构阶段

完成一个比较复杂的项目后,终于有空看看书了,这次决定将架构设计的方法论进行一次系统的学习,借助温昱大师的<一线架构师>一书.我将把这次学习分成三部分,分别是概论&预架构阶段&非功能目标的方法论.概念架构阶段.细化架构阶段.此外,今天看到老妈很喜欢的大幂幂了,真心很美,继续加油学习了,为成为一名合格的程序员而努力. 架构师的4个困惑: 4个实际问题的困惑 将系统划分模块,如何更合理? 细化架构阶段 大系统架构设计,如何起步? 概念架构阶段 总觉得需求很糟糕,影响了架构设计 预架构

[经验交流] 设置 mesos 各框架资源使用比例

前段时间我在办公网搭建了一套mesos平台,用于docker 集群相关的调研和测试,mesos + marathon + docker 架构运行正常.但是在启用了chronos后,marathon无法再部署新的app. 查看 http://master1:5050/#/frameworks,发现 chronos 把所有资源都占用了.判断是此原因造成 marathon 无法部署新app. 通过查询参考文档,我按照如下设置把系统资源按比例分配给marathon和chronos,之后marathon又

深入理解ZooKeeper基本原理及安装部署

1. ZooKeeper 是什么 ZooKeeper 是一个针对大型分布式系统的可靠协调系统:它提供的功能包括:配置维护.名字服务.分布式同步.组服务等: 它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的系统提供给用户. 2. ZooKeeper特点 ZooKeeper 主要包含以下几个特点: 1).最终一致性:为客户端展示同一视图,这是 ZooKeeper 最重要的性能. 2).可靠性:如果消息被一台服务器接受,那么它将被所有的服务器接受. 3).实时性:ZooK

架构风格与基于网络应用软件的架构设计(一)

作者:Roy Thomas Fielding 译者:李锟 论文摘要 Web(万维网,英文全称World Wide Web,简称Web)的成功,很大程度上是因为其软件架构的设计满足了拥有互联网规模(Internet-scale)的分布式超媒体系统的需求.在过去10年间,通过对定义Web架构的规范所做的一系列修改,Web以迭代的方式不断地发展着.为了识别出Web需要改善的那些方面,并且避免对其进行不必要的修改,需要一种现代的Web架构模型,用来指导Web的设计.定义和部署. 软件架构方面的研究探索的

docker mesos集群资源调度平台

mesos原理与架构 首先,再次需要强调 Mesos 自身只是一个资源调度框架,并非一整套完整的应用管理平台,所以只有 Mesos 自己是不能干活的.但是基于 Mesos,可以比较容易地为各种应用管理框架或者中间件平台(作为 Mesos 的应用)提供分布式运行能力:同时多个框架也可以同时运行在一个 Mesos 集群中,提高整体的资源使用效率.Mesos 对自己定位范围的划分,使得它要完成的任务很明确,其它任务框架也可以很容易的与它进行整合. 基本单元Mesos 中有三个基本的组件:管理服务(ma

kubernetes 和 mesos + marathon的对比

Kubernetes概述 根据Kubernetes网站的说法,“Kubernetes是一个自动化,容器化应用程序部署扩展和管理的开放源代码系统.”Kubernetes由Google根据他们在生产中运行容器的经验使用称为Borg的内部集群管理系统(有时简称Omega). Kubernetes的体系结构依赖于这种经验,如下所示: 从上图可以看出,有一些与Kubernetes集群相关的组件.主节点将容器工作负载放置在工作节点.其他组件包括: etcd:该组件存储配置数据,可以通过简单的HTTP或JSO

Rancher集群化docker管理平台部署、特性及破坏性测试。

rancher是一个docker集群化管理平台,相对于mesos和k8s架构,rancher的部署管理非常简单方便.并且功能丰富.如下为本人绘制的逻辑架构图. 1:部署Rancher管理平台 规划: server:10.64.5.184 agent1:10.64.5.185 agent2:10.64.5.186 agent3:10.64.5.187 agent4:10.64.5.188 部署方式: docker容器启动 server端部署   依赖镜像:rancher/server:latest

我关注的一周技术动态 2015.10.04

分布式系统实践 1. Distributed Systems(电子书) http://www.printfriendly.com/print/v2?url=http://book.mixu.net/distsys/ebook.html# 要点: 免费的介绍分布式系统理论的电子书, 这本书的难度非常适合初学者, 涵盖了分布式系统的方方面面, 但是又没有深入细节而无法理解, 结合具体例子, 让分布式理论学起来也不那么枯燥了. 2. 分布式系统一致性的发展历史(一) http://www.dianro

大数据学习之路

http://www.chinahadoop.cn/page/developer 什么是大数据开发师? 围绕大数据系平台系统级的研发人员, 熟练Hadoop.Spark.Storm等主流大数据平台的核心框架.深入掌握如何编写MapReduce的作业及作业流的管理完成对数据的计算,并能够使用Hadoop提供的通用算法, 熟练掌握Hadoop整个生态系统的组件如: Yarn,HBase.Hive.Pig等重要组件,能够实现对平台监控.辅助运维系统的开发. 通过学习一系列面向开发者的Hadoop.Sp