这个问题可能是由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
那么,如何删除孤立任务呢?
1条答案
按热度按时间qzlgjiam1#
有两种选择
使用相同的框架id注册框架。执行协调并终止您收到的所有任务。例如,您可以按以下方式执行
下载代码
git clone https://github.com/janisz/mesos-cookbook.git
更改目录cd mesos-cookbook/4_understanding_frameworks
在scheduler.go
更改url的主控形状如果您想模仿其他框架,请创建
/tmp/framework.json
把它装满FrameworkInfo
数据:运行它
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将为您删除此任务。