私はJenkinsから多くのストリーミングジョブがあり、Jenkinsからのマネージャーにとっては簡単なシェルスクリプトを作成しています。そこで以下のスクリプトを作成しました。アプリが実行中の状態でspark-submitプロセスを強制終了するかどうかを知るには?
#!/bin/bash
spark-submit "spark parameters here" > /dev/null 2>&1 &
processId=$!
echo $processId
sleep 5m
kill $processId
私がスリープしていない場合、スパーク送信プロセスは即座に終了し、スパークアプリケーションは送信されません。そして、睡眠がある場合、スパーク・サブミット・プロセスは、スパーク・アプリケーションを提出するのに十分な時間を得る。
私の質問は、spark-submitプロセスが強制終了されるように、sparkアプリケーションが実行中であるかどうかを知る良い方法はありますか?私はあなたが使用しているスパークバージョンを知っていないか、またはスタンドアロンモードで実行している場合は、とにかく、あなたがアプリを殺す/送信するためthe REST APIを使用することができますYARN
私は糸を使用していますので、アプリケーションIDを取得するために糸のアプリケーションリストとgrepアプリケーション名を使用しました。 –