07 2016 档案
摘要:在前文Mesos源码分析(8): Mesos-Slave的初始化中,Mesos-Slave接收到RunTaskMessage消息,会调用Slave::runTask. void Slave::runTask( const UPID& from, const FrameworkInfo& frameworkInfo, const FrameworkID& framewor...
阅读全文
摘要:根据Mesos源码分析(6): Mesos Master的初始化中的代码分析,当Mesos-Master接收到launchTask消息的时候,会调用Master::launchTasks函数。 void Master::launchTasks( const UPID& from, const FrameworkID& frameworkId, const vector&...
阅读全文
摘要:MesosSchedulerDriver的代码在src/sched/sched.cpp里面实现。 Driver->run()调用start() 首先检测Mesos-Master的leader 创建一个线程。 SchedulerProcess的initialize()函数 里面主要注册消息处理函数。 virtual ...
阅读全文
摘要:我们以Test Framework为例子解释Framework的启动方式。 Test Framework的代码在src/examples/test_framework.cpp中的main函数 首先要指定executor的uri 配置ExecutorInfo 配置FrameworkInfo 创建TestScheduler和MesosSchedulerDriver ...
阅读全文
摘要:Mesos-Slave的初始化在文件src/slave/slave.cpp里面 首先初始化资源预估器 初始化attributes 初始化hostname 初始化statusUpdateManager 注册一系列处理函数。 对于Slave注册成功的消息。 对于运行一个Task的消息。 对于注册上来的一个Execut...
阅读全文
摘要:Mesos-Slave的启动是从src/slave/main.cpp中的main函数开始的。 看过了Mesos-Master的启动过程,Mesos-Slave的启动没有那么复杂了。 1. slave::Flags flags 解析命令行参数和环境变量 Try load = flags.load("MESOS_", argc, argv); 2. process::firewal...
阅读全文
摘要:Mesos Master的初始化在src/master/master.cpp中 在Mesos Master的log中,是能看到这一行的。 1.初始化role,并设置weight权重 2. 初始化Allocator 注意,Allocator的initialize函数中,传入的OfferCallback是Master::offer。 如果...
阅读全文
摘要:5. Create an instance of allocator. 代码如下 Mesos源码中默认的Allocator,即HierarchicalDRFAllocator的位置在$MESOS_HOME/src/master/allocator/mesos/hierarchical.hpp,而DRF中对每个Framework排序的Sorter位于$MESOS_HOME/src/...
阅读全文
摘要:3. ModuleManager::load(flags.modules.get())如果有参数--modules或者--modules_dir=dirpath,则会将路径中的so文件load进来 代码中加载模块的代码如下 对应的命令行参数如下: 都可以写什么Module呢? 首先是Allocator 默认是内置的Hierarchical Dominan...
阅读全文
摘要:2. process::firewall::install(move(rules));如果有参数--firewall_rules则会添加规则 对应的代码如下: // Initialize firewall rules. if (flags.firewall_rules.isSome()) { vector> rules; const Firewall firewa...
阅读全文
摘要:Mesos Master的启动参数如下: /usr/sbin/mesos-master --zk=zk://127.0.0.1:2181/mesos --port=5050 --log_dir=/var/log/mesos --hostname=192.168.56.101 --hostname_lookup=false --ip=192.168.56.101 --quorum=1 --regis...
阅读全文