在Mesos中运行某些任务时,我的一些任务就会冻结。我希望能够杀死这些任务。有没有办法杀死Mesos框架中的一个任务? (我不想杀死整个框架)
答案 0 :(得分:1)
http://mesos.apache.org/documentation/latest/executor-http-api/
KILL 只要调度程序需要停止执行特定任务,就会发送KILL事件。一旦执行器停止/终止任务,执行器就需要将终端更新(例如,TASK_FINISHED,TASK_KILLED或TASK_FAILED)发送回代理。收到终端更新后,Mesos会将任务资源标记为已释放。
{
"type" : "KILL",
"kill" : {
"task_id" : {"value" : "d40f3f3e-bbe3-44af-a230-4cb1eae72f67"}
}
}
答案 1 :(得分:0)
来自http://mesos.apache.org/documentation/latest/scheduler-http-api/#kill
KILL
由调度程序发送以终止特定任务。如果调度程序有 自定义执行程序,kill被转发给执行者;它取决于 执行者杀死任务并发送TASK_KILLED(或TASK_FAILED) 更新。如果任务尚未交付执行人员 Mesos master或agent接收kill请求,TASK_KILLED为 生成并且任务启动不会转发给执行程序。注意 如果任务属于任务组,则会导致终止一个任务 在任务组中的所有任务被杀死。 Mesos发布了 一旦接收到任务的终端更新,任务的资源。 如果主服务器不知道任务,则会生成TASK_LOST。
KILL Request (JSON): POST /api/v1/scheduler HTTP/1.1 Host: masterhost:5050 Content-Type: application/json Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af { "framework_id" : {"value" : "12220-3440-12532-2345"}, "type" : "KILL", "kill" : { "task_id" : {"value" : "12220-3440-12532-my-task"}, "agent_id" : {"value" : "12220-3440-12532-S1233"} } } KILL Response: HTTP/1.1 202 Accepted