Mesos
1. 软件定义数据中心
- Mesos的二级调度机制:
maseos协调每个节点的slave,获取每个节点的机器资源。获取资源后,在相应节点运行framework,在容器中执行任务。从而使得多种类型的服务运行在同一台机器上 - mesosphere
2. Messos体系结构
- slave:运行在节点上的守护进程
- framework:调度器+执行器
(1)首先:slave向mater汇报该节点所有可用资源。master将该资源转发给framework。
(2)然后:framework的调度器(scheduler)计算任务需要的具体资源并告知master。
(3)最后:master通知slave分配这些具体资源,另通知framework的执行器(executer)执行任务
【注】:master不是任务调度的角色,所有已不存在性能瓶颈
framework担任任务调度,这些framework以插件形式扩展。开发者专注自身应用的选择和相应framework的选择
3. Mesos的持久化存储和容错
持久化存储
(1)分布式文件系统
eg:hdfs,这种文件系统有网络延迟问题,某些应用不适用
(2)使用数据复制的本地文件系统
eg:NoSql数据库。这需要framework静态预留多个节点作为数据复制存储
(3)不用复制的本地文件系统
静态分配一个节点容错
(1)slave:zookeeper实现
(2)framework调度器:注册多个scheduler到master,当一个scheduler发生异常,master切换另一个scheduler来分配任务。scheduler之间的资源状态共享有framework自己实现
(3)slave:slave进程消失,不会影响执行器的继续执行。master重启该节点上的slave进程,改重启进程再次连接节点上得executer。
当slave节点未响应连续多个are you alive的报文后,master从可用资源列表中删除该节点,并报告scheduler该任务执行失败,scheduler执行失败任务处理机制,通常是在新的slave节点上重启该任务
(4)executer:执行器异常,master通知其scheduler,scheduler执行失败任务处理机制,通常是在新的slave节点上重启该任务
4. Mesos的资源分配(DRF分配)
- DRF的目标是:为每个framework在异构环境中获得所需资源的公平份额
Mesos的更多相关文章
- Mesos高可用解决方案剖析
本文作者王勇桥,80后的IT攻城狮,供职于IBM多年,Mesos和Swarm社区的贡献者.本文是他根据自己对Mesos的高可用(High-Availability)设计方案的了解以及在Mesos社区贡 ...
- [系统集成] 部署 mesos-exporter 和 prometheus 监控 mesos task
前几天我在mesos平台上基于 cadvisor部署了 influxdb 和 grafana,用于监控 mesos 以及 docker app 运行信息,发现这套监控系统不太适合 mesos + do ...
- [经验交流] 为 mesos framework 分配资源
前段时间我在办公网搭建了一套mesos平台,用于docker 集群相关的调研和测试,mesos + marathon + docker 架构运行正常.但是在启用了chronos后,marathon无法 ...
- mesos 学习笔记1 -- mesos安装和配置
参考资料: 官方文档:http://mesos.apache.org/documentation 中文翻译:http://mesos.mydoc.io/ GitHub:https://github.c ...
- 利用听云Server和听云Network实测Kubernetes和Mesos在高并发下的网络性能
文章出自:听云博客 随着公司业务的不断增长,我们的应用数量也有了爆发式增长.伴随着应用爆发式的增长,管理的难度也随之加大.如何在业务爆发增长的同时快速完成扩容成了很大的挑战.Docker的横空出世恰巧 ...
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(环境Centos6.8)
资源:3台centos6.8虚拟机 4cpu 8G内存 ip 10.19.54.111-113 1台centos6.8虚拟机2cpu 8G ip 10.19.53.55 1.System Requir ...
- [经验交流] Apache Mesos Docker集群初探
前言 因工作需要,我对基于Apache Mesos 的 Docker 集群作了一点研究,并搭建了一套环境,以下是资料分享. 1. Apache Mesos概述 Apache Mesos是一款开源群集管 ...
- 让spark运行在mesos上 -- 分布式计算系统spark学习(五)
mesos集群部署参见上篇. 运行在mesos上面和 spark standalone模式的区别是: 1)stand alone 需要自己启动spark master 需要自己启动spark slav ...
- mesos框架编译部署
mesos是什么呢? 一个分布式调度框架,让你编写代码时面对整个集群像面对一台机器那么简单.所有的运行,资源调度都可以由它来帮你搞掂. 1.mesos安装有两种方式: 1)参考官网的getstart, ...
随机推荐
- Java中的Exception
Caused by: java.lang.IllegalArgumentException: The servlets named [XXX] and [YYY] are both mapped to ...
- OD20
查壳 发现没有壳 那就载入OD 在命令中在API函数下下个断点 然后程序跑起来 , 点CHECK 断下来了 在动态链接库断下来了 我们alt+F9 回到用户界 ...
- PHP实现文本快速查找 - 二分查找
PHP实现文本快速查找 - 二分查找法 起因 先说说事情的起因,最近在分析数据时经常遇到一种场景,代码需要频繁的读某一张数据库的表,比如根据地区ID获取地区名称.根据网站分类ID获取分类名称.根据关键 ...
- Javascript 事件对象进阶(一)拖拽的原理
拖拽原理 鼠标和Div的相对距离不变 三大事件 把拖拽加到document上 拖拽简单点来说就是不停的更改物体到页面左边&顶部的距离! 那么如何计算出物体到页面左端的距离呢? 当鼠标按下的时候 ...
- 适配布局-ios
// 系统的约束代码 @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIView *superVi ...
- vs2013提高编译速度
最近做新的项目,很多库是之前项目积累下来的库.在windows下使用的IDE是vs2013,整体编译的时候,明显感觉编译速度较慢,文件是一个一个编的. 从编译器本身的角度,vs2013是提供了加快编译 ...
- 改变ubuntu终端显示语言(桌面系统是中文,终端提示是英文)
打开终端: $ vi .bashrc 最后添加 if [ "$TERM"="linux" ] ;then export LANGUAGE=en_US expor ...
- win10 mysql 5.7.13 服务无法启动 3534
自己也百度了很多方法都不管用(我用的MySQL是免安装版,直接解压缩的那种) 基本上都是说没有设置data目录,没有 初始化,我很郁闷的是都按照那些步骤处理了,到最后还是不行. 后来把配置文件里面的 ...
- Oracle笔记2-数据库设计
数据库的设计 软件开发的流程:立项->需求分析->概要设计->详细设计->实现->测试->交付->维护 [含数据库设计] 通过需求分析,就可以抽取出关键业务中 ...
- JDBC向数据库中插入数据
新建数据库,并插入相关数据. create database bbs; use bbs; create table article ( id int primary key auto_incremen ...