[关闭]
@SailorXiao 2016-08-19T02:06:22.000000Z 字数 1090 阅读 2022

mesos学习笔记2 Scheduler开发

mesos Framework

参考

Scheduler Http Api:http://mesos.apache.org/documentation/latest/scheduler-http-api/
Java Api:http://mesos.apache.org/api/latest/java/

任务下发流程

  1. agent向master汇报心跳
  2. master基于offerResource接口,将资源offer给scheduler
  3. scheduler基于自己的任务状态,决定是acceptOffer或者declineOffer,如果当前有合适任务,那么acceptOffer,将任务下发给master
  4. master将任务下发给agent
  5. agent执行完成后,通过statusUpdate将任务状态汇报给master
  6. master将任务执行状态返回给taskScheduler
  7. taskScheduler完成任务

TaskScheduler开发

当前scheduler开发主要有三个类:

资源Offer

offer_timeout 设置

master默认资源分配策略是消极的,体现在以下几个方面:

 1. 当agent汇报资源时,master默认只会先把offer发给一个scheduler,当这个scheduler做出响应(accept或者decline)后,再发给下一个
 2. master默认offer_timeout设置是永不超时
 3. 只有当scheduler异常退出或者自己显式向master取消注册,master才会回收scheduler对应的offers

基于以上三点,如果当master在处理offer时hang住,或者没有处理该offer信息(比如直接丢弃),那么该offer上的资源将

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注