他のアプリケーションがリソースを割り当てられないすべてのコアを占有する実行中のSparkアプリケーションがあります。
私はいくつかの簡単な調査を行い、人々はYARN killまたは/ bin / spark-classを使用してコマンドをkillすることを提案しました。しかし、私はCDHバージョンを使用していて、/ bin / spark-classもまったく存在せず、YARN killアプリケーションも機能しません。
これで誰でも私と一緒にできますか?
他のアプリケーションがリソースを割り当てられないすべてのコアを占有する実行中のSparkアプリケーションがあります。
私はいくつかの簡単な調査を行い、人々はYARN killまたは/ bin / spark-classを使用してコマンドをkillすることを提案しました。しかし、私はCDHバージョンを使用していて、/ bin / spark-classもまったく存在せず、YARN killアプリケーションも機能しません。
これで誰でも私と一緒にできますか?
回答:
yarn application -kill application_1428487296152_25597
web UI
ですか?
Spark History UI
または糸はRUNNING
UI(アプリ糸ホスト:8088 /クラスター/アプリケーション/ RUNNING)またはからSpark Job Web UI
URL(糸ホスト:8088 /プロキシ/ application_ <タイムスタンプ> _ <ID> )
YARNからすべてのアプリケーションIDを取得し、それらを1つずつ強制終了するには時間がかかる場合があります。以下に示すように、Bash forループを使用して、この反復的なタスクをすばやく効率的に実行できます。
ACCEPTED状態のYARN上のすべてのアプリケーションを強制終了します。
for x in $(yarn application -list -appStates ACCEPTED | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done
実行状態にあるYARN上のすべてのアプリケーションを強制終了します。
for x in $(yarn application -list -appStates RUNNING | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done
PUT http:// {rm http address:port} / ws / v1 / cluster / apps / {appid} / state
{
"state":"KILLED"
}
これは倫理的で望ましい解決策ではないかもしれませんが、コンソールにアクセスして、yarnアプリケーションコマンドを使用してジョブを強制終了できない環境で役立ちます。
ステップは
スパークジョブのアプリケーションマスターページに移動します。ジョブセクションをクリックします。アクティブなジョブのアクティブなステージをクリックします。アクティブなステージのすぐ横に「キル」ボタンが表示されます。
これは、後続のステージが現在実行中のステージに依存している場合に機能します。それは仕事を「ユーザーによって殺された」としてマークしますが