Amazon EMR のステップをキャンセルするにはどうすればよいですか?

最終更新日: 2019 年 8 月 23 日

Amazon EMR のステップをキャンセルしようとしています。cancel-steps コマンドを実行すると、次のようなエラーが出ます。「Cannot cancel the step.It is already RUNNING.」

簡単な説明

  • Amazon EMR の cancel-steps コマンドは、保留中のステップに対してのみ機能します。詳細については、「保留中のステップのキャンセル」をご参照ください。
  • 実行中のステップをキャンセするには、アプリケーション ID (YARN ステップの場合) またはプロセス ID (YARN 以外のステップの場合) を強制終了します。

解決方法

YARN アプリケーション

1.    SSH を使用してマスターノードに接続します。

2.    次のコマンドを実行して、実行中のすべてのアプリケーションを一覧表示します。キャンセルする Amazon EMR のステップに関連付けられているアプリケーション ID に注意してください。

yarn application -list

3.    次のコマンドを実行して、アプリケーションを強制終了します。application_id を「application_1505786029486_002」などのアプリケーション ID に置き換えます。

注: このコマンドは、キュー内の保留中のステップをすべて強制終了します。

yarn application -kill application_id

YARN 以外のアプリケーション

1.    SSH を使用してマスターノードに接続します。

2.    次のコマンドを実行して、プロセス ID (pid) を取得します。次の例では、step_ids-Y9XXXXXXAPMD などのステップ識別子に置き換えます。

ps -ef |grep -i step_id

3.    前のステップの出力にあるプロセス識別子に注意してください。次の例では、プロセス ID は 2366 です。

hadoop    2366  4664  0 16:20 ?        00:00:01 /etc/alternatives/jre/bin/java -Xmx1000m -server -XX:OnOutOfMemoryError=kill -9 %p -Dhadoop.log.dir=/mnt/var/log/hado
op/steps/s-2RNURIK9Z2JUH -Dhadoop.log.file=syslog -Dhadoop.home.dir=/usr/lib/hadoop -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,DRFA -Djava.library.pat
h=:/usr/lib/hadoop-lzo/lib/native:/usr/lib/hadoop/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/mnt/var/lib/hadoop/st
eps/s-2RNURIK9Z2JUH/tmp -Dhadoop.security.logger=INFO,NullAppender -Dsun.net.inetaddr.ttl=30 org.apache.hadoop.util.RunJar /var/lib/aws/emr/step-runner/hadoop-
jars/command-runner.jar bash -c envsubst < /home/hadoop/truffle_suffle.json.template

4.    次のコマンドを実行して、プロセスを強制終了します。2366 をステップのプロセス識別子に置き換えます。

注: このコマンドは、キュー内の保留中のステップをすべて強制終了します。

kill -9 2366

ステップのステータスが Running から Failed に変わります。


この記事はお役に立ちましたか?

何か改善できることはありますか?


さらにサポートが必要ですか?