博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mesos入门(一)——白皮书阅读
阅读量:4224 次
发布时间:2019-05-26

本文共 1091 字,大约阅读时间需要 3 分钟。

学习mesos前先看看它的白皮书,对它有一个整体上的认知

mesos解决的问题

mesos的出现主要解决的问题是资源的粒度划分问题,当你在一个集群上跑多个不同的分布式计算框架时,你的资源分配的粒度基本都是以机器作为粒度的,而mesos上则是可以将一台机器分为更加细的粒度

原理

设计图:

因为markdown放图太麻烦,所以去官网链接看吧

  • 总体来说,mesos分为了三个部分,master和slave和各种framework,其中master负责资源的分配,slave则是会向master注册本机的资源,并且负责执行各种framework分配的任务,而framework则由两个部分构成,scheduler和executor,其中scheduler注册到主节点,将作业分解为任务,并申请资源并监控任务运行状况,executor则负责在slave上执行task

  • 资源分配,master只负责整个作业的资源分配,framework的scheduler才是决定每个任务使用多少资源。

流程:

图可以参考

  1. slave向master申请资源
  2. master与framework的scheduler沟通,scheduler决定是否接受改资源,如果接受,将资源分配结果告知master,master回收多余资源,
  3. master将具体的任务推送给slave节点,slave节点启动framework的executor执行任务

隔离:

  • 采用容器技术对网络,CPU,内存等资源进行隔离

鲁棒性和可扩展性:

  1. 为避免framework的调度器经常性拒绝资源,mesos提供了filters,filters告知了framework的调度器的一些偏好,当然,filters并不能作为调度器是否接受资源的标准,最后还是由调度器自己决定,filters只是为了减少拒绝次数

  2. 如果某个 framework 在超时内没有为分配的资源返回要运行的任务,则回收该资源。

容错性:

  1. 因为整个mesos集群都依赖于master节点,所以要避免master节点的当点故障,所以mesos有多个后备master节点,当当前活跃的节点挂掉,mesos会使用zookeeper在后备master节点中选取出一个新的master节点,同时 master 节点可以通过 slave 和 framework 发来的消息重建内部状态。

  2. 当任务执行失败时,mesos将错误交给framework的调度器,由它来决定怎么处理

  3. 为了避免调度器失效,mesos允许一个framework注册多个调度器,当一个失效,mesos通过master来激活另一个

转载地址:http://pigmi.baihongyu.com/

你可能感兴趣的文章
win下创建win32控制台工程,执行lua脚本
查看>>
cocos2dx android启动错误
查看>>
eclipse: android rename package name
查看>>
cocos2dx c++调用java思想
查看>>
lua math.ceil math.ceil
查看>>
cocos2dx CCNode计算node的大小
查看>>
cocos2dx 布局记录(1)
查看>>
lua 多行注释和取消多行注释
查看>>
缩放系数计算
查看>>
cocos2dx --- 按钮点击居中放大
查看>>
cocos2dx menu位置计算
查看>>
cocos2dx资源加载机制(同步/异步)
查看>>
cocos2dx C++调用java -- 字符串传递
查看>>
git学习网站
查看>>
JavaScript 学习网站
查看>>
cocos2dx java调用c++ -- 字符串传递
查看>>
CCScaleTo与CCScaleBy比较
查看>>
cocos2dx CCObject引用计数,内存释放分析(1)
查看>>
cocos2dx2.X 编译时,传递编译选项
查看>>
ccCArray.cpp 文件
查看>>