web-dev-qa-db-ja.com

Mesosでフレームワークを強制終了する

Mesosクラスターがあり、それに接続されたSparkシェルを実行していました。クライアントをシャットダウンしましたが、Mesosはフレームワークがアクティブである必要があると信じています。

CurlでDELETEを使用してMesosにフレームワークを削除させようとしています( https://issues.Apache.org/jira/browse/MESOS-139

しかし、サーバーから応答がありません。また、マスターに正確に接続する方法がわかりません。ZooKeeperによって管理されているマルチマスター設定があり、アクティブなマスターだけに接続しようとしていました。

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

上記が正しいリクエストであるかどうかを誰かが確認できますか?私はmesos-0.20.0を使用しています。

ありがとう

9
Aaron

そのJIRAの問題は(コメントで)DELETEに言及していますが、フレームワークのシャットダウンがどのように実装されているかではありません。/shutdownエンドポイントに対してPOSTリクエストを実行する必要があります。

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

クライアントをシャットダウンした後にsparkフレームワークが削除されない理由については、sparkが高いフェイルオーバータイムアウトを使用しているためだと思いますか?それでも、私はmは、MesosUIが非アクティブではなくアクティブとして表示することに驚いています。

3
vinodkone

URLを投稿して呼び出すrestfullオプションがありますhttp://your_mesos:5050/master/teardownframeworkIdパラメーターを渡す

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'

21
montells

これを最新の状態に保つために:マスターエンドポイントの名前がティアダウンに変更されました。つまり、 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
18
js84

@montellsの作品をリフすると、ワンライナーは

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

これを.bashrcに追加します。

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

使用例:

killtask 123
3
Federico Ponzi