杀死在Mesos中运行的任务

时间:2016-07-20 19:26:36

标签: mesos

在Mesos中运行某些任务时,我的一些任务就会冻结。我希望能够杀死这些任务。有没有办法杀死Mesos框架中的一个任务? (我不想杀死整个框架)

2 个答案:

答案 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