我正在写一个mesos框架,我想用我的自定义执行程序来执行我的任务。我经历了几个其他mesos框架代码库(chronos和marathon),并编写了一个使用默认命令执行程序执行shell命令的调度程序。现在我想用自定义的东西替换默认的执行程序。问题是我无法弄清楚如何注册执行者与奴隶。有关构建框架的文档声明它应该是一个可执行文件,并且您可以使用executorInfo提供路径,但我不明白如何执行该操作。另外,每个执行者必须执行的Executor接口又有什么意义?同时需要一个可执行文件?什么是可执行文件的参数?如何在特定执行器上启动一个mesos任务?
5
A
回答
4
对于mesos库和执行程序接口/回调的执行程序可执行链接是在从属程序中发生类似注册,重新注册和断开连接的事件时通知您的唯一方式,或者您的框架发出launchTask或killTask请求时。
它被分成两部分(就像框架一样),由一个ExecutorDriver和执行器实现组成。
如果您看一下mesos/executor.hpp,您会注意到构造函数需要一个指向执行程序的指针。例如,
class MyExecutor : public Executor {
/* Implement registered, reregistered, ... */
}
MesosExecutorDriver* driver = new MesosExecutorDriver(new MyExecutor());
driver->run();
// As long as the executor is running, the callbacks in MyExecutor will
// be invoked by the mesos slave when events and requests are received.
不同的回调将为您提供必要的协议缓冲区(在mesos.proto中定义),例如launchTask中的TaskInfo,killTask中的TaskID等等。
当它到达框架端,并且您想注册自己的执行程序时,请尝试查看https://github.com/mesosphere/mesos-go/blob/master/src/mesos.apache.org/example_framework/main.go。
希望这可以帮助,让我知道如果我需要扩大上述任何。
相关问题
- 1. Azure:如何在webrole上为每个网站条目执行启动任务?
- 2. 如何在JBOSS AS启动时运行/启动特定服务?
- 3. 在特定时间执行任务
- 4. 如何防止任务在某个容器实例上启动
- 5. 如何分别在定时器中执行两个任务?
- 6. BlackBerry Ripple模拟器启动服务不执行任何操作
- 7. 如何在服务器启动时运行capistrano任务?
- 8. SBT在启动时执行自定义任务
- 9. 如何在特定时间执行任务?
- 10. Ruby - Thor首先执行一个特定的任务
- 11. 使用一个线程多次执行特定任务C#
- 12. 一次启动多个任务,然后在完成其中一个任务时启动另一个任务
- 13. 如何在服务器上的特定时间执行一些代码..?
- 14. 在气流主节点上运行一个特定的任务
- 15. 在启动uwsgi-emperor app时执行一次任务
- 16. 调度:在春季启动时仅执行一次任务
- 17. 在android如何执行一个接一个的任务
- 18. 在Spring启动时只执行一次触发器/任务,并在运行期间取消注册任务
- 19. jQuery如果隐藏某个类的任何一个执行任务,否则,执行另一个任务
- 20. Liferay在服务器启动后自动执行一些代码
- 21. Azure:如何执行启动任务延迟?
- 22. 如何在服务器启动后执行后台线程?
- 23. mesos代理不断重新启动失败的任务
- 24. 如何在服务器上启动PlayFramework
- 25. 如何自动执行浏览任务?
- 26. 如何自动执行BUILD任务
- 27. 如何执行一个在活动中启动的服务上定义的方法并返回结果?
- 28. OpenMP任务 - 阻止特定线程执行任务的方式?
- 29. 在另一个线程执行任务
- 30. 如何在汇编后执行FTP上传任务:在Maven中单个执行?