Mesos功能和特点?

Mesos是如何实现整个数据中心统一管理的呢?
核心的概念就是资源两级供给和作业两级调度。先说说从下而上的资源两级供给吧。

  1. 在Mesos集群中,资源的供应方都来自Mesos Slave所在的物理节点。资源可以包括CPU、内存、存储空间、IO吞吐能力等

    图片来自mesos.apache.org,图⽚片版权归属原作者
    这些资源通过供给的方式,从Mesos Slave提供给了Mesos Master的Leader。(具体的领导者选举过程将在后续容器编排章节详细阐述)这就是第一级的资源供给。
  2. Mesos master进一步将资源整合后,作为可选项提供给了各种framework框架。这些框架中最主流的就是Marathon长服务框架,但也可能是其他如Jenkins CI/CD框架、Spark大数据框架、Kafka中间件框架、Chronos任务管理框架、Aurora应用管理框架等。各种框架可以有选择地对Mesos Master整合后的数据中心资源提出要求。

而Mesos和各种框架对于资源的要求处理过程,正是从上而下的两级调度机制的核心:

  1. 首先,各个框架都有自己的调度器Scheduler,它会根据用户需求启动特定的工作任务。调度器在上层第一级确定工作任务需要的资源情况,是否需要接受Mesos提供的CPU、内存和存储资源来运行特定的工作负载。
  2. 同时Mesos对于上层框架的需求也不是予取予求。他会采用默认的DRF优势资源公平算法(Dominant Resource Faireness)来决定各种框架任务的资源分配情况,从而使整个数据中心利益最大化。比如上层框架中的Marathon调度器需要启动Nginx任务,而同时Spark框架需要启动streaming任务,Mesos的DRF算法会根据框架提出的资源请求,将尽量多的内存和CPU分配给Nginx用于进行反向代理服务,同时将尽可能多的IO吞吐性能提供给Spark进行流处理。

Mesos的主要特点包括:

  1. 轻量级的master:仅保留了framework和slave的一些状态,易于重构,因此采用zookeeper很容易解决HA问题
  2. 配合container技术的slave:利用Linux-Container和Docker技术可以实现很方便地实现任务间的CPU与内存资源隔离
  3. 资源分配调度比较简单:默认的DRF算法可以轻松实现资源的最大化利用,不需要复杂的人工干预和配置

Marathon功能和特点?

一个操作系统有了优秀的内核只是完成了一半工作,强大易用的服务管理(如init、systemd系统等)才是操作系统得以生存发展的另一半天。
相同的道理,有了Mesos这个分布式操作系统内核,还得有一个可以支持分布式的长服务运行调度框架,这就是Marathon。

图片来自360doc.com,图⽚片版权归属原作者
Marathon的主要特点有:

  1. 高可用性:Marathon作为主动/被动群集运行,领导者选举可以实现100%的高可用运行时间。
  2. 资源分布可控:可以允许每个机架/节点等仅放置应用程序的一个实例,从而缓解单点故障的影响。
  3. 服务发现和负载平衡:可以通过HA Proxy和DNS等方式自动实现负载均衡。
  4. 健康检查:可以使用HTTP或TCP检查评估应用程序的运行状况。
  5. 活动订阅:提供HTTP端点以接收通知。例如,与外部负载均衡器集成。
  6. UI:美丽而强大的UI。
  7. API:完整的REST API,易于集成和编写脚本.
  8. 安全:Basic Auth和SSL
  9. 监控:以JSON格式在/metrics查询它们或将它们推送到诸如graphite,statsd和Datadog之类的系统。

使用场景

如果想运行长生命周期的应用服务(而不是短时作业等),想将数据中心的多种形式的任务结合管理(如CI/CD连续集成连续部署、大数据、消息中间件、搜索引擎等),但应用之间不需要太强的集群耦合(如Oracle数据库心跳、Keepalive节点心跳等),Mesos+Marathon这一对数据中心操作系统解决方案,可以成为您的首选。

 
 
 
 

Mesos Marathon能做什么?理念是什么?(转)的更多相关文章

  1. Apache的Mesos/Marathon与Google的Kubernets的区别

    Apache的Mesos与Google的Kubernets的区别 – China Hadoophttp://chinahadoop.com/archives/2150 有哪些是Apache Mesos ...

  2. mesos,marathon,haproxy on centos7 最完美安装教程

    前言 本教程参考 http://blog.51cto.com/11863547/1903532 http://blog.51cto.com/11863547/1903532 官方文档等... 系统:c ...

  3. Docker云Paas平台部署:Docker+Mesos+Marathon

    针对“互联网+”时代的业务增长.变化速度及大规模计算的需求,廉价的.高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统.Docker及其相关技术的出现和发 ...

  4. Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)

    1. Mesos简介 1.1 Mesos Apache Mesos 是一个分布式系统的管理软件,对集群的资源进行分配和管理. Mesos主要由以下几部分组成: Master: 管理各Slave节点 S ...

  5. docker+zookeeper+mesos+marathon集群

    实验环境: 主机名 ip地址 运行服务 安装组件 docker-master1 192.168.20.210 zookeepermesos-mastermarathon mesosmarathonme ...

  6. 基于zookeeper+mesos+marathon的docker集群管理平台

    参考文档: mesos:http://mesos.apache.org/ mesosphere社区版:https://github.com/mesosphere/open-docs mesospher ...

  7. docker+mesos+marathon

    前言 (Core) [root@docker-slave ~]# uname -r 3.10.0-229.4.2.el7.x86_64 [root@docker-slave ~]# uname -m ...

  8. centos7部署PaaS平台环境(mesos+marathon)

    假如有5台主机可以使用,ip地址如下 规划(2master+3slave) master: 192.168.248.205 ---master1 192.168.248.206 ---master2 ...

  9. 【云计算】mesos+marathon 服务发现、负载均衡、监控告警方案

    Mesos-dns 和 Marathon-lb 是mesosphere 官网提供的两种服务发现和负载均衡工具.官方的文档主要针对DCOS,针对其它系统的相关中文文档不多,下面是我在Centos7上的安 ...

随机推荐

  1. 一个鲜为人知但很实用的Windows使用技巧

    作为一个电脑党,最无法忍受的就是每次开机都要手动打开那些必要的程序.有没办法让这些程序自动打开呢?今天小编意外地得到了一个方法,现在分享给大家. (以腾讯桌面整理为例) 1,Win + R 2,输入t ...

  2. Storage API简介和存储限制与逐出策略

    目录 简介 常用的客户端存储方式 data storage的类型 逐出策略 Storage API estimate persist persisted 综合使用 总结 简介 对于现代浏览器来说,为了 ...

  3. 一口气看完45个寄存器,CPU核心技术大揭秘

    序言 前段时间,我连续写了十来篇CPU底层系列技术故事文章,有不少读者私信我让我写一下CPU的寄存器. 寄存器这个太多太复杂,不适合写故事,拖了很久,总算是写完了,这篇文章就来详细聊聊x86/x64架 ...

  4. WebSocket的理解

    Websocket相对于无状态的HTTp协议,是在一次成功连接之后,在关闭请求之前,服务器和客户端能顺利进行信息传输.而不用像HTTP那样每一次都要告诉服务器这个请求者是谁(身份鉴别信息). 在HTT ...

  5. Python包安装及使用指南

    这里长期更新一些Python第三方包的安装教程,以及使用教程... Pygame 安装教程: Windows: 首先,查看已安装的Python版本:访问https://www.lfd.uci.edu/ ...

  6. 了解Js中的client,offset

    Client clientWidth,clientHeight 元素内部的宽度和高度,clientTop,clientLeft 元素内边距到其边框的距离,clientX,clientY相当于浏览器窗口 ...

  7. javaScript 必会基础知识

    1.JavaScript是一种浏览器解析的轻量级脚本语言. 2.html.jsp等内部js代码写在<script></script>之间:外部js文件中书写js代码不能有< ...

  8. Bitmap缩放(一)

    使用矩阵进行压缩,通过缩放图片尺寸,来达到压缩图片的效果,和采样率的原理一样.先用位图的option将位图压缩一半,再用matrix缩放0.3f public class MainActivity e ...

  9. 微信小程序UI自动化:实践之后的记录01-选择工具/框架

    目录 1. 前言 2. 工具/框架/库选择 2.1 miniprogram-automator官方介绍(摘自官方哈) 小程序自动化 特性 2.2 minium官方介绍 特性 3. 如何选择 4. 对应 ...

  10. router-view组件在app.vue中渲染不出来怎么办

    1.在app.vue使用router-view组件直接渲染 页面什么都没显示,可能问题出在路由配置上了,检查路由是否配置完好,路由挂载那里必须使用routes属性 2.在app.vue中router- ...