在Mesos中杀死一个框架

时间:2014-09-22 17:11:49

标签: mesos

我有一个Mesos集群,并且正在运行连接到它的Spark shell。我关闭了客户端,但Mesos仍然相信框架应该是活跃的。

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

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

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

任何人都可以验证以上是否是正确的请求? 我使用的是mesos-0.20.0。

由于

5 个答案:

答案 0 :(得分:21)

有一个restfull选项通过发布url http://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'

答案 1 :(得分:17)

只是为了使其保持最新:主端点已重命名为拆解,即http://localhost:5050/master/teardown是新的方法。

TEARDOWN请求(JSON):

focusWindow = App.focusedWindow()
regionImage = capture(focusWindow)
shutil.move(regionImage, os.path.join(r'C:\Screenshots', 'Dummy1.png'))

TEARDOWN回复:

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

答案 2 :(得分:5)

在@montells上工作,一个单行将是

echo "frameworkId= 23423-23423-234234-234234" | curl -d@- -X POST http://localhost:5050/master/shutdown

答案 3 :(得分:3)

即使JIRA问题提到DELETE(在评论中),也不是如何实现框架关闭。您需要对/ shutdown端点发出POST请求。

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

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

答案 4 :(得分:3)

在.bashrc中添加:

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

样本用法:

killtask 123