你好,游客 登录 注册 发布搜索
背景:
阅读新闻

Mesos的Framework与Executor注册过程

[日期:2014-04-10] 来源:51CTO  作者: [字体: ]

本文以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注册成功

2.    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()函数

framework与executor

接下来,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”)。

framework与executor

您可能还喜欢:1 Apache Mesos总体架构

2 Apache Mesos底层基础库

3 Apache Mesos模块间通信架构

4 Apache Mesos调度机制

5 Apache Mesos的任务状态更新过程分析

6 Apache Mesos的任务分配过程分析

7 揭秘你不知道的分布式云计算框架 12小时内更新

收藏 推荐 打印 | 录入:Cstor | 阅读:
相关新闻       framework与executor 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款