我有一个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。
由于
答案 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