Amazon EMR クラスターの起動に失敗したときの "bootstrap action returned a non-zero return code" というエラーを解決したいと考えています。
簡単な説明
Amazon EMR が Amazon Elastic Compute Cloud (Amazon EC2) クラスターインスタンスをプロビジョニングした後、Amazon EMR はインスタンスに対し、ブートストラップアクションを実行します。ブートストラップアクションが 0 以外のエラーコードを返した場合、Amazon EMR は影響を受けたインスタンスを終了します。ブートストラップアクションに失敗したインスタンスが多すぎる場合、Amazon EMR はクラスターを削除します。
解決策
エラーの原因を特定するには、stderr ログを確認します。stderr ログで問題を特定できない場合は、デバッグ情報を参考にスクリプトを変更します。たとえば、ブートストラップアクションログファイル内のスクリプトのフローをトレースするには、Bash スクリプトに -ex パラメータを設定します。
#!/bin/bash
set -x -e
ブートストラップアクションが失敗した場合は、クラスターの作成時に指定した LogUri (たとえば s3://example-log-location/example-cluster-id/node/example-instance-id/bootstrap-actions/) に保存されているログを確認します。
関連情報
カスタムブートストラップアクションの使用
Amazon EMR クラスターが "application provisioning failed" というエラーで終了する理由を知りたいです。