小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Framework開發(fā)指南 三

 碼農(nóng)書館 2017-09-11
故障處理
怎樣搭建在故障時仍可用的Mesos frameworksseparate document中進行討論。

如何使用Executor



 使用Mesos Command Executor


Mesos 提供了一個簡單的executor,它可以執(zhí)行shell命令和代表framework schedulerDocker container。足夠滿足各種各樣的框架的功能需求。
任何scheduler都可以使用 Mesos command executor 通過填寫可選的CommandInfo 。TaskInfo protobuf 消息的成員。
message TaskInfo {
  ...
  optional CommandInfo command = 7;
  ...
}
 
當Tasks被指定這種方式時,Mesos slave將填寫ExecutorInfo 的剩余信息。

創(chuàng)建自定義Framework Executor



如果你的framework有特殊要求, 您可能希望提供您自己的Executor執(zhí)行程序。 例如,你可能不希望tasksprocesses之間1:1的關(guān)系 .
你的framework executor 必須繼承于Executor.必須重構(gòu) launchTask() 方法。你也可以在executor使用 $MESOS_HOME環(huán)境變量來確定Mesos 可執(zhí)行程序的位置。

Executor API


聲名于 MESOS_HOME/include/mesos/executor.hpp
 
/*
*當executor驅(qū)動程序已成功連接Mesos時調(diào)用。特別是,一個Scheduler可以通過
*FrameworkI*nfo.ExecutorInfo數(shù)據(jù)域傳遞一些到它的Executor。
virtual void registered(ExecutorDriver* driver,
                        const ExecutorInfo& executorInfo,
                        const FrameworkInfo& frameworkInfo,
                        const SlaveInfo& slaveInfo);
 
/*
*executor和一個重新啟動的slave重新注冊時調(diào)用.
*/
virtual void reregistered(ExecutorDriver* driver, const SlaveInfo& slaveInfo);
/*
executorslave變?yōu)闊o連接時調(diào)用。
* (例如,slave因更新而重啟時。).
*/
virtual void disconnected(ExecutorDriver* driver);
 
/*
當一個task 被發(fā)布到這個executor (通過Scheduler::launchTasks初始化的)時調(diào)用注意這個*task通過 一個線程、一個進程或一些簡單的計算然而,知道這個函數(shù)返回這個executor不會再
*調(diào)用其他的回調(diào)函數(shù)。
*/
virtual void launchTask(ExecutorDriver* driver, const TaskInfo& task);
 
/*
當一個運行于這個executor的Task終止(通過schedulerdriver::killtask)時調(diào)用。
*注意狀態(tài)更新代表這個Executor被發(fā)送,這個Executor負責創(chuàng)建一個新的TaskStatus(注,帶 *TASK_KILLED標志)并調(diào)用ExecutorDriver::sendStatusUpdate。
*/
virtual void killTask(ExecutorDriver* driver, const TaskID& taskId);
 
/*
 framework消息到達這個executor時調(diào)用這些消息的傳輸方式是盡力機制,不要期待framework消息以可靠方式重新轉(zhuǎn)發(fā)。
*/
virtual void frameworkMessage(ExecutorDriver* driver, const std::string& data);
 
/*
*當這個executor 要終止其上所有運行的tasks時被調(diào)用.注意在 Mesos 確定這個
*executor終止了所有這個executor沒有發(fā)送中止狀態(tài)更新 (TASK_KILLED, TASK_FINISHED, *TASK_FAILED, 等標志)tasks之后將產(chǎn)生TASK_LOST狀態(tài)更新.
*/
virtual void shutdown(ExecutorDriver* driver);
 
/*
*executor或executor驅(qū)動發(fā)生一個致命錯誤時調(diào)用。在調(diào)用這個返回函數(shù)前,這個驅(qū)動將終止 。
*/
virtual void error(ExecutorDriver* driver, const std::string& message);

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多