9

我有一个 Mesos 集群,并且正在运行一个连接到它的 Spark shell。我关闭了客户端,但 Mesos 仍然认为框架应该处于活动状态。

我试图让 Mesos 通过使用 DELETE 和 curl 来删除框架(https://issues.apache.org/jira/browse/MESOS-1390

但我没有得到服务器的响应。此外,我不确定如何准确连接到主服务器:我有一个由 ZooKeeper 管理的多主服务器设置,并且我试图仅连接到活动主服务器:

curl -X DELETE http://<active master url>:5050/framworks/<framework id>

谁能验证上述请求是否正确?我正在使用 mesos-0.20.0。

谢谢

4

5 回答 5

21

有一个 restfull 选项通过 post urlhttp://your_mesos:5050/master/teardown传递 frameworkId 参数调用

curl -d@/tmp/post.txt -X POST http://your_mesos:5050/master/teardown

/tmp/post.txt 是一个文件,内容如下:

frameworkId=23423-23423-234234-234234

我知道已经晚了,但对于未来的提问者

编辑:端点现在称为teardown.
示例(感谢@Jeff):curl -X POST http://your_mesos:5050/master/teardown -d 'frameworkId=23423-23423-234234-234234'

于 2015-01-08T22:03:49.530 回答
18

只是为了保持最新:主端点被重命名为 teardown 即http://localhost:5050/master/teardown是新的方法。

拆除请求 (JSON):

POST /master/teardown HTTP/1.1
Host: masterhost:5050
Content-Type: application/json
frameworkId=12220-3440-12532-2345

拆解响应:

HTTP/1.1 200 Ok
于 2015-08-14T13:35:54.423 回答
5

在@montells 的工作上,单线将是

echo "frameworkId= 23423-23423-234234-234234" | curl -d@- -X POST http://localhost:5050/master/shutdown
于 2015-05-07T14:14:47.597 回答
3

尽管 JIRA 问题提到了 DELETE(在评论中),但这并不是框架关闭的实现方式。您需要向 /shutdown 端点发出 POST 请求。

示例:https ://github.com/apache/mesos/blob/master/src/tests/teardown_tests.cpp

关于关闭客户端后为什么没有删除spark框架,我猜是因为spark使用了高故障转移超时?尽管如此,我很惊讶 Mesos UI 将其显示为活动而不是非活动。

于 2014-09-23T03:25:16.620 回答
3

在你的 .bashrc 中添加这个:

#Mesos
killtask(){ curl -XPOST http://mesos_url:5050/master/teardown -d 'frameworkId='$@''; } ;

示例用法:

killtask 123
于 2016-05-02T08:52:27.350 回答