3

Amazon EC2 でインスタンスを起動しようとしています。この問題について広範囲に調査しましたが、役立つ情報は見つかりませんでした。

コマンドを実行するとhadoop-ec2 launch-cluster mycluster 2、次のエラー メッセージが表示されます。

Starting master with AMI.
Required parameter 'AMI' missing (-h for usage)

AWS キー、AWS シークレット キー、AWS キー ペアなどを入力しました。hadoop-1.0.4 を使用しています。デフォルトの S3 バケット ( hadoop-images) を使用していますが、他の多くの AMI を試しましたが、常に同じエラー メッセージが表示されます。

以前にこの問題を経験した人はいますか?

4

1 に答える 1

1

基本的な問題は、launch-hadoop-masterスクリプトが実行する画像の検索で結果が返されないことです。この原因として最も可能性が高いのは、さまざまなリージョンで利用できるさまざまな AMI によるものです (ただし、S3_BUCKETおよびHADOOP_VERSIONで行った変更が原因である可能性がありますhadoop-ec2-env.sh)。

launch-hadoop-masterスクリプトから:

# Finding Hadoop image
AMI_IMAGE=`ec2-describe-images -a | grep $S3_BUCKET 
                                  | grep $HADOOP_VERSION
                                  | grep $ARCH
                                  | grep available
                                  | awk '{print $2}'`

# Start a master
echo "Starting master with AMI $AMI_IMAGE"

そのため、 が有効なイメージに設定されていないように見えるAMI_IMAGEため、さまざまなフィルターに一致する AMI の検索grepが失敗しています (Hadoop 1.0.4 ディストリビューションのデフォルトは、 m1.small を使用している場合はS3_BUCKETis hadoop-imagesHADOOP_VERSIONis 0.19.0、およびARCHisです)。x86インスタンス)。US-West-2 リージョンでパブリック AMI を検索すると、Hadoop イメージがあまりないことがわかりますが、US-East-1 リージョンでパブリック AMI を検索すると、そこにあることがわかります。かなりの数です。したがって、この問題を回避する 1 つの方法は、US-East-1 リージョン (これが最も簡単です) で作業するか、代わりにEC2_URLログイン スクリプトで設定export EC2_URL=https://ec2.us-east-1.amazonaws.comすることですが、AWS コンソールからこのリージョンにキーを配置する必要があります。 .

HADOOP_VERSION実際に に変更した場合は1.0.4

ec2-describe-images -a | grep hadoop-images 
                       | grep "1.0.4"'
                       | grep x86
                       | grep available 

US-East-1 リージョンの画像は返されません。HADOOP_VERSIONコマンドを実行している Hadoop ディストリビューションのバージョン ( ) はhadoop-ec2、イメージが実行される Hadoop のバージョンと同じである必要はありません。

最後に、単純な修正として、使用する AMI を見つけて、およびスクリプトAMI_IMAGEでイメージ名に強制的に設定することができます。launch-hadoop-masterlaunch-hadoop-cluster

于 2013-05-26T14:22:53.020 に答える