Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Amazon EMRクラスターで追加のソフトウェアをインストールするブートストラップアクションを作成する

フォーカスモード
Amazon EMRクラスターで追加のソフトウェアをインストールするブートストラップアクションを作成する - Amazon EMR

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

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

ブートストラップアクションを使用することにより、追加のソフトウェアのインストール、またはクラスターインスタンスの設定のカスタマイズを行うことができます。ブートストラップアクションは、Amazon Linux Amazon マシンイメージ () を使用してインスタンスEMRを起動した後にクラスターで実行されるスクリプトですAMI。ブートストラップアクションは、Amazon がクラスターの作成時に指定したアプリケーションEMRをインストールする前、およびクラスターノードがデータの処理を開始する前に実行されます。実行中のクラスターにノードを追加した場合、ブートストラップアクションはこれらのノードでも同じ方法で実行されます。カスタムブートストラップアクションを作成し、クラスターを作成するタイミングを指定できます。

Amazon EMRAMIバージョン 2.x および 3.x の事前定義されたブートストラップアクションのほとんどは、Amazon EMRリリース 4.x ではサポートされていません。例えば、 configure-Hadoopconfigure-daemonsは Amazon EMRリリース 4.x ではサポートされていません。代わりに、Amazon EMRリリース 4.x ではこの機能がネイティブに提供されています。Amazon EMRAMIバージョン 2.x および 3.x から Amazon EMRリリース 4.x にブートストラップアクションを移行する方法の詳細については、「Amazon EMR リリースガイド」の「Amazon の以前のAMIバージョンを使用したクラスターとアプリケーション設定のカスタマイズEMR」を参照してください。

ブートストラップアクションの基本

デフォルトでは、ブートストラップアクションは Hadoop ユーザーとして実行されます。ブートストラップアクションは、sudo を使用し、ルート権限で実行できます。

すべての Amazon EMR管理インターフェイスはブートストラップアクションをサポートしています。コンソール、、または から複数のbootstrap-actionsパラメータを指定することで AWS CLI、クラスターごとに最大 16 のブートストラップアクションを指定できますAPI。

Amazon EMRコンソールから、オプションでクラスターの作成中にブートストラップアクションを指定できます。

を使用するとCLI、 create-cluster コマンドを使用してクラスターを作成するときに --bootstrap-actionsパラメータを追加EMRすることで、ブートストラップアクションスクリプトへの参照を Amazon に渡すことができます。

--bootstrap-actions Path="s3://amzn-s3-demo-bucket/filename",Args=[arg1,arg2]

ブートストラップアクションがゼロ以外のエラーコードを返した場合、Amazon はそれを失敗としてEMR扱い、インスタンスを終了します。ブートストラップアクションに失敗したインスタンスが多すぎると、Amazon はクラスターをEMR終了します。失敗したインスタンスがわずかしかない場合、Amazon は失敗したインスタンスを再割り当てして続行EMRしようとします。クラスターの lastStateChangeReason エラーコードを使用して、ブートストラップアクションによって引き起こされたエラーを識別します。

ブートストラップアクションを条件付きで実行する

マスターノードでのみブートストラップアクションを実行するには、そのノードがマスターかどうかを判断するロジックを含むカスタムブートストラップアクションを使用できます。

#!/bin/bash if grep isMaster /mnt/var/lib/info/instance.json | grep false; then echo "This is not master node, do nothing,exiting" exit 0 fi echo "This is master, continuing to execute script" # continue with code logic for master node below

次の出力はコアノードから出力されます。

This is not master node, do nothing, exiting

次の出力はマスターノードから出力されます。

This is master, continuing to execute script

このロジックを使用するには、上記のコードを含むブートストラップアクションを Amazon S3 バケットにアップロードします。で AWS CLI、 --bootstrap-actionsパラメータをaws emr create-clusterAPI呼び出しに追加し、ブートストラップスクリプトの場所を の値として指定しますPath

シャットダウンアクション

ブートストラップアクションスクリプトで 1 つ以上の shutdown actions を作成するには、スクリプトを /mnt/var/lib/instance-controller/public/shutdown-actions/ ディレクトリに書き込みます。クラスターが終了すると、ディレクトリ内のすべてのスクリプトが並行して実行されます。各スクリプトが 60 秒以内に実行され完了しなければなりません。

ノードの終了時にエラーが発生した場合、シャットダウンアクションスクリプトが実行される保証はありません。

注記

Amazon EMRバージョン 4.0 以降を使用する場合は、マスターノードに /mnt/var/lib/instance-controller/public/shutdown-actions/ ディレクトリを手動で作成する必要があります。デフォルトでは存在しませんが、作成後は、このディレクトリのスクリプトがシャットダウンの前に実行されます。ディレクトリを作成するためのマスターノードへの接続の詳細については、「を使用して Amazon EMRクラスターのプライマリノードに接続する SSH」を参照してください。

カスタムブートストラップアクションの使用

カスタムスクリプトを作成すると、カスタマイズされたブートストラップアクションを実行します。どの Amazon EMRインターフェイスでも、カスタムブートストラップアクションを参照できます。

注記

最高のパフォーマンスを得るには、Amazon で使用するカスタムブートストラップアクション、スクリプト、およびその他のファイルをEMR、クラスター AWS リージョン と同じ にある Amazon S3 バケットに保存することをお勧めします。

カスタムブートストラップアクションの追加

Console
コンソールを使用してブートストラップアクションでクラスターを作成するには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/emr で Amazon EMRコンソールを開きます。

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

  3. [ブートストラップアクション][追加] を選択し、アクションの名前、スクリプトの場所、オプション引数を指定します。[ブートストラップアクションを追加] を選択します。

  4. オプションで、さらにブートストラップアクションを追加します。

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

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

CLI
を使用してカスタムブートストラップアクションでクラスターを作成するには AWS CLI

を使用してブートストラップアクション AWS CLI を含める場合は、 Pathと をカンマ区切りリストArgsとして指定します。次の例では、引数リストが使用されていません。

  • カスタムブートストラップアクションを使用してクラスターを起動するには、次のコマンドを入力し、 をEC2キーペアの名前myKeyに置き換えます。--bootstrap-actions をパラメータとして含め、ブートストラップスクリプトの場所を Path の値として指定します。

    • Linux、UNIX、および Mac OS X ユーザー:

      aws emr create-cluster --name "Test cluster" --release-label emr-4.0.0 \ --use-default-roles --ec2-attributes KeyName=myKey \ --applications Name=Hive Name=Pig \ --instance-count 3 --instance-type m5.xlarge \ --bootstrap-actions Path="s3://elasticmapreduce/bootstrap-actions/download.sh"
    • Windows ユーザー:

      aws emr create-cluster --name "Test cluster" --release-label emr-4.2.0 --use-default-roles --ec2-attributes KeyName=myKey --applications Name=Hive Name=Pig --instance-count 3 --instance-type m5.xlarge --bootstrap-actions Path="s3://elasticmapreduce/bootstrap-actions/download.sh"

    --instance-groups パラメータを使用せずにインスタンス数を指定すると、1 つのプライマリノードが起動され、残りのインスタンスはコアノードとして起動されます。すべてのノードで、コマンドで指定したインスタンスタイプが使用されます。

    注記

    デフォルトの Amazon EMRサービスロールとEC2インスタンスプロファイルを以前に作成していない場合は、 と入力aws emr create-default-rolesして作成してから、 create-cluster サブコマンドを入力します。

    での Amazon EMR コマンドの使用の詳細については AWS CLI、「」を参照してくださいhttps://docs.aws.amazon.com/cli/latest/reference/emr

コンソールを使用してブートストラップアクションでクラスターを作成するには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/emr で Amazon EMRコンソールを開きます。

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

  3. [ブートストラップアクション][追加] を選択し、アクションの名前、スクリプトの場所、オプション引数を指定します。[ブートストラップアクションを追加] を選択します。

  4. オプションで、さらにブートストラップアクションを追加します。

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

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

カスタムブートストラップアクションを使用した Simple Storage Service (Amazon S3) から各ノードへのオブジェクトのコピー

アプリケーションをインストールする前に、Simple Storage Service (Amazon S3) からクラスター内の各ノードにオブジェクトをコピーするブートストラップアクションを使用できます。 AWS CLI はクラスターの各ノードにインストールされるため、ブートストラップアクションで AWS CLI コマンドを呼び出すことができます。

Simple Storage Service (Amazon S3) から各クラスターノードのローカルフォルダ /mnt1/myfolder にファイル myfile.jar をコピーする簡単なブートストラップアクションスクリプトの例を次に示します。スクリプトは、以下の内容を使って、copymyfile.sh のファイル名で Simple Storage Service (Amazon S3) に保存されます。

#!/bin/bash aws s3 cp s3://amzn-s3-demo-bucket/myfilefolder/myfile.jar /mnt1/myfolder

クラスターの起動時にスクリプトを指定します。次の AWS CLI 例は、これを示しています。

aws emr create-cluster --name "Test cluster" --release-label emr-7.5.0 \ --use-default-roles --ec2-attributes KeyName=myKey \ --applications Name=Hive Name=Pig \ --instance-count 3 --instance-type m5.xlarge \ --bootstrap-actions Path="s3://amzn-s3-demo-bucket/myscriptfolder/copymyfile.sh"
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.