在Mesos中运行一些任务时,我的一些任务就会冻结。我希望能够杀死这些任务。有没有办法杀死Mesos框架中的一个任务? (我不想杀死整个框架)
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"}
}
}
来自http://mesos.apache.org/documentation/latest/scheduler-http-api/#kill
KILL
由调度程序发送以终止特定任务。如果调度程序具有自定义执行程序,则将kill转发给执行程序;执行程序可以终止任务并发送TASK_KILLED(或TASK_FAILED)更新。如果在Mesos主服务器或代理程序收到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