首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Mesos源码分析
】的更多相关文章
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源码分析(12): Mesos-Slave接收到RunTask消息
在前文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源码分析(11): Mesos-Master接收到launchTasks消息
根据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…
Mesos源码分析(10): MesosSchedulerDriver的启动及运行一个Task
MesosSchedulerDriver的代码在src/sched/sched.cpp里面实现. Driver->run()调用start() 首先检测Mesos-Master的leader 创建一个线程. SchedulerProcess的initialize()函数 里面主要注册消息处理函数. virtual void initialize() { install<Event>(&SchedulerProcess::rece…
Mesos源码分析(5): Mesos Master的启动之四
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源码分析(16): mesos-docker-executor的运行
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…
Mesos源码分析(14): DockerContainerier运行一个Task
DockerContainerizer的实现在文件src/slave/containerizer/docker.cpp中 Future<bool> DockerContainerizer::launch( const ContainerID& containerId, const ExecutorInfo& executorInfo, const string& directory, const Option<string>…
Mesos源码分析(13): MesosContainerier运行一个Task
MesosContainerizer的实现在文件src/slave/containerizer/mesos/containerizer.cpp中 Future<bool> MesosContainerizer::launch( const ContainerID& containerId, const TaskInfo& taskInfo, const ExecutorInfo& executorInfo, const string&…
Mesos源码分析(7): Mesos-Slave的启动
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源码分析(6): Mesos Master的初始化
Mesos Master的初始化在src/master/master.cpp中 在Mesos Master的log中,是能看到这一行的. 1.初始化role,并设置weight权重 2. 初始化Allocator 注意,Allocator的initialize函数中,传入的OfferCallback是Master::offer. 如果前面所述,没过allocation_interval,Allocator都会计算每个framework的offer,然后依次…