タイムアウトパラメータを指定してクラスタ環境でジョブをサブミットする場合、許可された時間が経過した場合、sparkを実行中のジョブを終了させる方法がありますか?Apacheのスパークジョブの実行時間を制限する
1
A
答えて
0
Spark 2.1.0には、組み込みのソリューションはありません(追加するには非常に優れた機能です)。
speculation
の機能を使用すると、長いタスクを再起動し、spark.task.maxFailures
を再起動しすぎて再起動したタスクを強制終了することができます。
しかし、これは絶対にきれいではありませんが、スパークが長いタスクを停止するために、実際の「サーキットブレーカー」が不足している他の側に
(などのnoob SELECT * FROM DB
など)、あなたはスパークのWeb UIのWeb APIを使用することができます。
GET http://SPARK_CLUSTER_PROD/api/v1/applications/application_1502112083252_1942/jobs?status=running
(これはあなたが長く仕事を見つけるために使用することができますsubmissionTime
フィールドを持つ配列を与える)
2)仕事を殺す:
1)は、実行中のジョブ取得しますジョブステージごとに。
私はSparkも隠されたAPIを持っていると信じています。あなたは使ってみることができます。
0
YARN REST APIを使用して、サービスからスパークアプリケーションを強制終了することができます。私は、長時間走っているスパークアプリケーションを停止するために次のコードを使用しています。次のコードは、httpclientライブラリを使用しています。
def killApplication(applicationId: String) : Boolean = {
val appKillPut = new HttpPut(s"http://xx.xx.xx.xx:8088//ws/v1/cluster/apps/$applicationId/state")
val json = new JSONObject(Map("state"-> "KILLED"))
val params = new StringEntity(json.toString(),"UTF-8")
params.setContentType("application/json")
appKillPut.addHeader("Content-Type", "application/json")
appKillPut.addHeader("Accept", "*/*")
appKillPut.setEntity(params)
println(s"Request payload ${json.toString}")
val client: CloseableHttpClient = HttpClientBuilder.create().build()
val response: CloseableHttpResponse = client.execute(appKillPut)
val responseBody = EntityUtils.toString(response.getEntity)
println(s"Response payload ${responseBody}")
val statusCode: Int = response.getStatusLine.getStatusCode
if(statusCode == 200 || statusCode == 201 || statusCode == 202) {
println(s"Successfully stopped the application : ${applicationId}")
true
} else {
false
}
}
これが役立ちます。
ラビ
関連する問題
- 1. Apache Beamパイプライン(データフロー) - 無制限データの実行時間の解釈
- 2. Googleスプレッドシートスクリプトの実行時間制限
- 3. didReceiveNotificationRequest:withContentHandler - 実行時間の制限?
- 4. 実行時間を制限するJavaのスレッドのサンプル
- 5. パイプされたプログラムの実行時間を制限する
- 6. CLI PHPスクリプトの実行時間を制限する方法
- 7. Apacheのイエナクエリ実行時間
- 8. 実行ファイルが無限大で実行される時間(タイミング制限)
- 9. xgboost実行時間を制限する方法は?
- 10. ステートチャート:ステートが実行される時間の制限
- 11. アクターメソッドの実行時間には制限がありますか?
- 12. トリガーの制限実行時間の合計Googleサービス
- 13. Kafkaを使用して長時間実行されるスパークジョブ間の通信
- 14. 同時実行HAXM AVDエミュレータの制限
- 15. アンドロイドでのネットワークアクティビティの実行時間を制限する方法は?
- 16. スパークジョブの実行者
- 17. 時間あたりに実行されるジョブの数を制限する
- 18. 時間制限は
- 19. Android:BroadcastReceiver制限時間
- 20. Qualtricsブロックの時間制限
- 21. Googleクローラの時間制限
- 22. php/mysqlの時間制限
- 23. ユーザーログインの時間制限
- 24. javascriptで関数の実行時間を制限する方法は?
- 25. 時間制限とトリガーを伴うApacheエアフロースケジューリング
- 26. CRM Nav 2015非常に遅い、クエリ実行時間制限外
- 27. Apache zepplinスパークジョブがspark-submitよりも速く実行する
- 28. ドライバから複数のスパークジョブを同時に実行する
- 29. 指定された時間だけ終了する実行時間制限のジョブを許可しますか?
- 30. アクターモデルパターン:同時実行中のアクターの数を制限する
タイムアウトを開始するタイミングによって異なります。あなたは運転手でそれを自分で行うことができます。将来、タイムアウトでジョブを開始してください。タイムアウトが切れると、ドライバはシャットダウンし、Sparkジョブを終了します。 – LiMuBei
私は残りの部分で仕事を提出しており、リクエストにプロパティを渡しているので、そこに設定する必要があると思います。 – user601929