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. filebeat7.5 日志

    百度网盘 提取码: 6cvu 解压 tar -zxvf filebeat-7.5.0-linux-x86_64.tar.gz mv filebeat-7.5.0-linux-x86_64 /usr/l ...

  2. 如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (二)

    创建 API   我们之前已经跑过 Gin 框架的代码,现在是时候加些功能进去了. 读取全部信息   我们先从"增删改查"中的"查"入手,查询我们之前添加的信息.我接下来要删除几行代码,并把 Gin ...

  3. Helium文档9-WebUI自动化-find_all获取页面table数据

    前言 find_all关键字根据官方介绍的作用是查找所有出现GUI元素,并且返回list,下面通过举例说明 入参介绍 def find_all(predicate): ""&quo ...

  4. Anderson《空气动力学基础》5th读书笔记 第4记——黏性流动入门

    目录 一.边界层的概念 二.边界层的产生原因 三.剪切力的公式 四.温度分布情况 五.雷诺数与层流.湍流 一.边界层的概念 我们先来介绍边界层的概念(边界层正是黏性流动的产物),边界层是紧挨物体的薄层 ...

  5. return i++ 是先用再加么

    return i++ 比较特殊,先是return i:然后i++. return i=i+ 1 则不同,它是先让i=i+1,再return

  6. 三种方式获取SSMS连接密码

    内网渗透是有的时候会遇到对方SSMS没断开连接正连着别的机器的mssql此时有两种方法可以获取sa密码 当密码强度较弱时可以使用第一只方式,第一种方式解不开的情况下可以使用后面二种方式 1.直接查询s ...

  7. 基于ssm的客户管理系统

    查看更多系统:系统大全,课程设计.毕业设计,请点击这里查看 01 概述 一个简单的客户关系管理系统 管理用户的基本数据 客户的分配 客户的流失 已经客户的状态 02 技术 ssm + jdk1.8 + ...

  8. 入门 第一个python可视化程序 基于pyqt5

    不得不说 py的GUI实在是太难上手了 我现在突然很怀念MFC VB c#这些东西了 因为控件的代码你只要一点就能进入查看 而pyqt5 pyside2 都不可以 你要看就看全部的代码 你要改你也只能 ...

  9. CTF-pwn:老板,来几道简单pwn

    wdb_2018_3rd_soEasy 保护全关 在栈上写入shellcode,然后ret2shellcode from pwn import * local = 0pa binary = " ...

  10. Spring Cloud 学习笔记 (一)-- Eureka 服务器

    开局一张图,截取了本人学习资料中的一张图,很好地展示了Eureka的架构. Eureka服务器 管理服务的作用.细分为服务注册,服务发现. 所有的客户端在Eureka服务器上注册服务,再从Eureka ...