ステップ実行後に継続または終了するように Amazon EMR クラスターを設定する - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ実行後に継続または終了するように Amazon EMR クラスターを設定する

このトピックでは、長時間稼働クラスターの使用と、最後のステップの実行後にシャットダウンする一時的なクラスターの作成の違いについて説明します。また、クラスターのステップ実行を設定する方法についても説明します。

長時間稼働クラスターを作成する

デフォルトでは、 コンソールまたは で作成したクラスター AWS CLI は長時間実行されます。長時間稼働クラスターは、シャットダウンするアクションを実行するまで、実行を続け、作業を受け入れ、料金が発生します。

長時間稼働クラスターは、次のような状況で効果的です。

  • 対話式または自動的にデータをクエリする必要がある場合。

  • クラスターでホストされるビッグデータアプリケーションと継続的にやり取りする必要がある場合。

  • 非常に大きいデータセットを定期的に処理したり、頻繁に処理したりするため、毎回新しいクラスターを起動してデータをロードするのが非効率である場合。

また、長時間稼働クラスターで終了保護を設定して、事故やエラーによる EC2 インスタンスのシャットダウンを回避することもできます。詳細については、「Amazon EMR クラスターを誤ったシャットダウンから保護するための終了保護の使用」を参照してください。

注記

Amazon EMR は、複数のプライマリノードを持つすべてのクラスターに対して終了保護を自動的に有効にし、クラスターの作成時に指定したステップ実行設定をオーバーライドします。クラスターの起動後に、終了保護を無効にできます。「実行中のクラスターに対する終了保護の設定」を参照してください。複数のプライマリノードを持つクラスターをシャットダウンするには、まずクラスター属性を変更して、終了保護を無効にする必要があります。手順については、複数のプライマリノードを持つ Amazon EMR クラスターの終了 を参照してください。

ステップ実行後に終了するようにクラスターを設定する

ステップ実行後に終了するように設定する場合、クラスターが起動し、ブートストラップアクションが実行され、指定したステップが実行されます。最後のステップが完了するとすぐに、Amazon EMR はクラスターの Amazon EC2 インスタンスを終了します。Amazon EMR API を使用して起動するクラスターでは、ステップ実行がデフォルトで有効になっています。

ステップ実行後の終了は、毎日のデータ処理など、定期的な処理タスクを実行するクラスターに効果的です。また、ステップ実行により、データの処理に必要な時間分の料金のみが課金されるようになります。ステップの詳細については、「作業を Amazon EMR クラスターに送信する」を参照してください。

Console
コンソールでステップ実行後の終了を有効にするには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/emr で Amazon EMR コンソールを開きます。

  2. 左側のナビゲーションペインの [EMR on EC2] で、[クラスター] を選択し、[クラスターの作成] を選択します

  3. [ステップ][ステップの追加] を選択します。[ステップを追加] ダイアログボックスで、適切なフィールド値を入力します。オプションは、ステップタイプによって異なります。ステップを追加してダイアログを終了するには、[ステップの追加] を選択します。

  4. [クラスターの終了][最後のステップの完了後にクラスターを終了] チェックボックスを選択します。

  5. クラスターに適用するその他のオプションを選択します。

  6. クラスターを起動するには、[クラスターの作成] を選択します。

AWS CLI
を使用してステップ実行後の終了を有効にするには AWS CLI
  • --auto-terminate コマンドを使用して一時的なクラスターを作成するときに、create-cluster パラメータを指定します。

    次の例は --auto-terminate パラメータを使用する方法を示しています。次のコマンドを入力し、myKey を EC2 キーペアの名前に置き換えます。

    注記

    読みやすくするために、Linux 行連続文字 (\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

    aws emr create-cluster --name "Test cluster" --release-label emr-7.6.0 \ --applications Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey \ --steps Type=PIG,Name="Pig Program",ActionOnFailure=CONTINUE,\ Args=[-f,s3://amzn-s3-demo-bucket/scripts/pigscript.pig,-p,\ INPUT=s3://amzn-s3-demo-bucket/inputdata/,-p,OUTPUT=s3://amzn-s3-demo-bucket/outputdata/,\ $INPUT=s3://amzn-s3-demo-bucket/inputdata/,$OUTPUT=s3://amzn-s3-demo-bucket/outputdata/] --instance-type m5.xlarge --instance-count 3 --auto-terminate
API
クラスター起動時に Amazon EMR API でステップ実行後の終了を無効にするには
  1. RunJobFlow アクションを使用してクラスターを作成するときに、KeepJobFlowAliveWhenNoSteps プロパティを false に設定します。

  2. Amazon EMR API クラスター起動後のステップ実行後の終了の設定を変更するには:

    SetKeepJobFlowAliveWhenNoSteps アクションを使用します。