杀死正在mesos中运行的任务

pinkon5k  于 2021-06-26  发布在  Mesos
关注(0)|答案(2)|浏览(378)

在mesos中运行某些任务时,我的某些任务将冻结。我想干掉这些任务。在mesos框架中,有没有办法只杀死一个任务(我不想破坏整个框架)

pkbketx9

pkbketx91#

从http://mesos.apache.org/documentation/latest/scheduler-http-api/#kill

杀死

由调度程序发送以终止特定任务。如果调度程序有一个自定义的执行器,则kill被转发给执行器;由执行者终止任务并发送任务终止(或任务失败)更新。如果任务在mesos主机或代理接收到kill请求时还没有传递给执行器,那么会生成一个任务kill,并且不会将任务启动转发给执行器。请注意,如果任务属于某个任务组,则终止一个任务将导致终止该任务组中的所有任务。mesos一旦接收到任务的终端更新,就会释放任务的资源。如果主任务未知,将生成一个任务丢失。

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
sf6xfgos

sf6xfgos2#

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"}
   }
}

相关问题