コードで未処理の例外が発生したときに、すべての Hadoop ジョブを自動的に強制終了したいと考えています。それを行うためのベストプラクティスは何ですか?
ありがとう
バージョンに応じて、次のようにします。
バージョン <2.3.0
Hadoop ジョブを強制終了します。
hadoop job -kill $jobId
すべての jobId の実行のリストを取得できます。
hadoop job -list
バージョン>=2.3.0
Hadoop ジョブを強制終了します。
yarn application -kill $ApplicationId
すべての ApplicationId の動作のリストを取得できます。
yarn application -list
実行list
してすべてのジョブを表示し、適切なコマンドで jobID/applicationID を使用します。
mapred ジョブを強制終了します。
mapred job -list
mapred job -kill <jobId>
ヤーン ジョブを強制終了します。
yarn application -list
yarn application -kill <ApplicationId>
プロセス ID を強制的に kill するだけで、hadoop ジョブも自動的に kill されます。次のコマンドを使用します。
kill -9 <process_id>
例: プロセス ID 番号: 4040 namenode
username@hostname:~$ kill -9 4040