2014-09-22 44 views
8

我有一個Mesos集羣並且正在運行一個Spark shell連接到它。我關閉了客戶端,但Mesos仍然認爲框架應該是主動的。在Mesos中殺死一個框架

我想有Mesos使用帶有捲曲 (https://issues.apache.org/jira/browse/MESOS-1390)DELETE刪除框架

但我沒有得到來自服務器的響應。另外,我不知道究竟如何連接到主:我有一個多主設置由動物園管理員管理,而我試圖連接只是活動的主:

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

任何人都可以驗證,如果上述是正確的要求? 我正在使用mesos-0.20.0。

感謝

回答

3

即使是JIRA問題提到刪除(在評論)它的框架關閉不如何實現的。您需要對/ shutdown端點執行POST請求。

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

至於爲什麼火花框架是不是你關閉客戶端後取出,我猜這是因爲火花塞採用了高故障超時?儘管如此,我很驚訝Mesos UI顯示它是活動的而不是非活動的。

+0

啊,我明白了。謝謝。 – Aaron 2014-09-23 17:37:41

+3

請注意/關機已被棄用贊成/拆卸 – Adam 2015-08-03 23:30:33

18

有一個問題的REST調用選擇通過文章的網址http://your_mesos:5050/master/shutdown傳遞frameworkId參數

curl [email protected]/tmp/post.txt -X POST http://your_mesos:5050/master/shutdown 

/tmp/post.txt是與後續的內容的文件:

frameworkId=23423-23423-234234-234234 

我知道已經晚了但對於未來askers

+9

更容易是'curl -XPOST http:// your_mesos:5050/master/shutdown -d'frameworkId = your_framework_id'' – Jeff 2015-10-15 18:49:19

+10

'關機'不適合我。我不得不使用「拆卸」。 – 2016-03-08 23:45:18

4

在@montells工作,一個班輪將咆哮將

echo "frameworkId= 23423-23423-234234-234234" | curl [email protected] -X POST http://localhost:5050/master/shutdown 
+0

任何人都知道API的記錄位置?我還沒有找到它。另外,使用Mesos 0.23+時,/ master/teardown是不推薦使用/ master/shutdown的新路徑。 HTTPS://issues.apache。org/jira/browse/MESOS-2697 – codecraig 2015-08-03 17:23:06

+0

http api可通過此票證進行跟蹤:https://issues.apache.org/jira/browse/MESOS-2289 – codecraig 2015-08-03 17:28:52

+0

請小心在ID前留有空格。這個空間在過去引起了我的問題 – 2016-03-03 00:41:41

16

爲了保持最新狀態:主端點重命名爲拆卸,即http://localhost:5050/master/teardown是新的方法。

TEARDOWN請求(JSON):

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

TEARDOWN響應:

HTTP/1.1 200 Ok 
+0

,所以我應該將建議的curl命令寫爲:curl [email protected]/tmp/post.txt -X POST http:// localhost:5050/master/teardown? – CruncherBigData 2015-08-20 23:50:33

+1

@CruncherBigData是的,只需用'teardown'替換'shutdown'即可。順便說一下,你可以寫'-d'frameworkId =#''而不是使用文件。 – solomkinmv 2016-02-29 12:34:20

+0

'curl -H「Content-Type:application/json」-X POST -d'frameworkId = 547d0f00-b084-4b5c-bd1b-5ea6c5f8abd1-0000'-v -L http:// localhost:5050/teardown'(/ master/teardown和/ teardown是一樣的東西) – KarlKFI 2017-02-04 01:37:05

3

在你的.bashrc補充一點:

#Mesos 
killtask(){ curl -XPOST http://mesos_url:5050/master/teardown -d 'frameworkId='[email protected]''; } ; 

使用範例:

killtask 123 
+0

Bigups ..這個答案是最好的 – vicTROLLA 2016-07-03 02:20:25

+0

謝謝!我也需要一個快速的方法來殺死框架:) – 2016-07-04 08:31:43