Mesos源码分析】的更多相关文章

Mesos源码分析(1): Mesos的启动过程总论 Mesos源码分析(2): Mesos Master的启动之一 Mesos源码分析(3): Mesos Master的启动之二 Mesos源码分析(4) Mesos Master的启动之三 Mesos源码分析(5): Mesos Master的启动之四 Mesos源码分析(6): Mesos Master的初始化 Mesos源码分析(7): Mesos-Slave的启动 Mesos源码分析(8): Mesos-Slave的初始化 Mesos源…
在前文Mesos源码分析(8): Mesos-Slave的初始化中,Mesos-Slave接收到RunTaskMessage消息,会调用Slave::runTask.   void Slave::runTask(     const UPID& from,     const FrameworkInfo& frameworkInfo,     const FrameworkID& frameworkId_,     const UPID& pid,     TaskInfo…
根据Mesos源码分析(6): Mesos Master的初始化中的代码分析,当Mesos-Master接收到launchTask消息的时候,会调用Master::launchTasks函数.   void Master::launchTasks(     const UPID& from,     const FrameworkID& frameworkId,     const vector<TaskInfo>& tasks,     const Filters&a…
  MesosSchedulerDriver的代码在src/sched/sched.cpp里面实现.     Driver->run()调用start()     首先检测Mesos-Master的leader       创建一个线程.   SchedulerProcess的initialize()函数   里面主要注册消息处理函数.   virtual void initialize()  {    install<Event>(&SchedulerProcess::rece…
  5. Create an instance of allocator.   代码如下   Mesos源码中默认的Allocator,即HierarchicalDRFAllocator的位置在$MESOS_HOME/src/master/allocator/mesos/hierarchical.hpp,而DRF中对每个Framework排序的Sorter位于$MESOS_HOME/src/master/allocator/sorter/drf/sorter.cpp,可以查看其源码了解它的工作原…
mesos-docker-executor的运行代码在src/docker/executor.cpp中   int main(int argc, char** argv) {   GOOGLE_PROTOBUF_VERIFY_VERSION;     mesos::internal::docker::Flags flags;     // Load flags from environment and command line.   Try<Nothing> load = flags.load…
DockerContainerizer的实现在文件src/slave/containerizer/docker.cpp中   Future<bool> DockerContainerizer::launch(     const ContainerID& containerId,     const ExecutorInfo& executorInfo,     const string& directory,     const Option<string>…
MesosContainerizer的实现在文件src/slave/containerizer/mesos/containerizer.cpp中   Future<bool> MesosContainerizer::launch(     const ContainerID& containerId,     const TaskInfo& taskInfo,     const ExecutorInfo& executorInfo,     const string&…
  Mesos-Slave的启动是从src/slave/main.cpp中的main函数开始的.   看过了Mesos-Master的启动过程,Mesos-Slave的启动没有那么复杂了.   1. slave::Flags flags 解析命令行参数和环境变量   Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);   2. process::firewall::install(move(rules)…
  Mesos Master的初始化在src/master/master.cpp中     在Mesos Master的log中,是能看到这一行的.   1.初始化role,并设置weight权重       2. 初始化Allocator     注意,Allocator的initialize函数中,传入的OfferCallback是Master::offer.   如果前面所述,没过allocation_interval,Allocator都会计算每个framework的offer,然后依次…