我正在寫一個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中單個執行?