如何删除ApacheMesos中的孤立任务?

qqrboqgw  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(375)

这个问题可能是由mesos和marathon不同步引起的,但是github上提到的解决方案对我不起作用。
当我发现孤立任务时:

我要做的是:
重新开始马拉松
marathon不会同步孤立的任务,但会启动新任务。
孤立任务仍然占用了资源,因此我必须删除它们。
我在框架下找到所有孤立任务 ef169d8a-24fc-41d1-8b0d-c67718937a48-0000 ,

curl -XGET `http://c196:5050/master/frameworks

显示框架是 unregistered_frameworks :

{
    "frameworks": [
        .....
    ],
    "completed_frameworks": [ ],
    "unregistered_frameworks": [
        "ef169d8a-24fc-41d1-8b0d-c67718937a48-0000",
        "ef169d8a-24fc-41d1-8b0d-c67718937a48-0000",
        "ef169d8a-24fc-41d1-8b0d-c67718937a48-0000"
    ]
}

尝试按framework id删除framework(这样framework下的任务也会被删除)

curl -XPOST http://c196:5050/master/teardown -d 'frameworkId=ef169d8a-24fc-41d1-8b0d-c67718937a48-0000'

但你得 No framework found with specified ID 那么,如何删除孤立任务呢?

qzlgjiam

qzlgjiam1#

有两种选择
使用相同的框架id注册框架。执行协调并终止您收到的所有任务。例如,您可以按以下方式执行
下载代码 git clone https://github.com/janisz/mesos-cookbook.git 更改目录 cd mesos-cookbook/4_understanding_frameworksscheduler.go 更改url的主控形状
如果您想模仿其他框架,请创建 /tmp/framework.json 把它装满 FrameworkInfo 数据:

{
  "id": "<mesos-framewokr-id>",
  "user": "<framework-user>",
  "name": "<framework-name>",
  "failover_timeout": 3600,
  "checkpoint": true,
  "hostname": "<hostname>",
  "webui_url": "<framework-web-ui>"
}

运行它 go run scheduler.go scheduler.pb.go mesos.pb.go 获取所有任务的列表 curl localhost:9090 使用curl-x delete“删除任务”http://10.10.10.10:9090/?id=任务id“
等到 failover_timeout 因此mesos将为您删除此任务。

相关问题