scheduler与executor向mesos注册过程

本文以Hadoop框架为例,介绍了framework与executor向mesos注册过程。
1. Framework注册过程
(1) JobTracker启动时,会调用MesosScheduler的start()方法
(2) MesosScheduler的start()方法创建一个MesosSchedulerDriver对象,并将自己作为参数传入该对象。
(3) MesosSchedulerDriver初始化,创建一个SchedulerProcess对象
(4) MesosSchedulerDriver初始化,调用MasterDetector::create(),它将向SchedulerProcess对象发送一个NewMasterDetectedMessage消息
(5) SchedulerProcess对象收到NewMasterDetectedMessage消息后,向Master发送一个RegisterFrameworkMessage消息
(6) Master收到该消息后,保存相关信息,并返回FrameworkRegistedMessage消息,确认framework注册成功
这里写图片描述

  1. Executor注册过程
    本节描述框架frameworkX在某个slaveX上注册executor executorX的过程:
    (1)Master第一次向slaveX发送执行frameworkX中task的消息 RunTaskMessage
    (2)slave收到该消息后,运行相应的消息处理函数runTask()
    (3)该函数发现该slave上未启动frameworkX对应的executorX,则调用IsolationModule的lauchExecutor()函数
    (4)该函数创建一个FrameworkExecutor对象,并调用ExecutorProcess的Initialize()函数进行初始化,同时启动TaskTracker
    (5)Initialize()函数创建消息RegisterExecutorMessage,并发送给slave
    (6)Slave收到该消息后,调用对象的消息处理函数registerExecutor,该函数创建ExecutorRegisteredMessage消息,返回给ExecutorProcess
    (7)ExecutorProcess收到该消息后,调用对应的消息处理函数registered(),该函数再进一步调用FrameworkExecutor的registered()函数

这里写图片描述

接下来,master发送给slave的RunTaskMessage消息依次经过的流程如下图所示。需要注意的是,对于同一个计算框架,Mesos在一个slave上只会创建一个资源container,所有task全部在这个container里运行,也就是说,mesos无法做到task级别的隔离,只能做到executor级别的隔离,而对于同一个框架,同一个slave上所有task全部在一个executor中运行。

对于Hadoop而言,每个mesos-slave上只会创建一个TaskTracker,且该TaskTracker会被放置到一个executor(对应一个linux container)中运行,而同一个TaskTracker上所有task均在该TaskTracker所在进程树中,因而共享该executor对应的资源。当TaskTracker接收到新的task时,会增加该executor可以使用的资源量(使用“lxc-cgroup –n %s %s %lld”),而当有task运行完成时,则减少该executor可使用的资源量(使用“lxc-cgroup –n %s %s %lld”)。
这里写图片描述

原创文章,转载请注明: 转载自董的博客
本文链接地址: http://dongxicheng.org/apache-mesos/apache-mesos-framework-executor-registering/
作者:Dong,作者介绍:http://dongxicheng.org/about/
本博客的文章集合:http://dongxicheng.org/recommend/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值