ec2正确配置amazonec2ami?

vktxenjb  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(352)

我正在尝试在amazonec2上启动一个示例。我对这个问题进行了广泛的研究,但没有找到任何有用的信息。
当我运行命令时 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 bucket( hadoop-images ),但我尝试了许多其他ami,总是收到相同的错误消息。
以前有人遇到过这个问题吗?

j8yoct9x

j8yoct9x1#

基本问题是搜索图像 launch-hadoop-master 脚本未返回任何结果。最可能的原因是不同地区的AMI不同(但也可能是您对AMI所做的任何更改) S3_BUCKET 以及 HADOOP_VERSIONhadoop-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 未设置为有效的图像,因此搜索与各种 grep 筛选器失败(hadoop1.0.4发行版的默认值为 S3_BUCKEThadoop-images , HADOOP_VERSION0.19.0 以及 ARCHx86 如果您使用的是m1.small示例)。如果您搜索uswest-2区域中的公共ami,您将看到hadoop映像并不多,但是如果您搜索useast-1区域中的公共ami,您将看到有很多。因此,解决这个问题的一种方法是在美东1区(这是最简单的)或set工作 EC2_URL 在您的登录脚本中,通过 export EC2_URL=https://ec2.us-east-1.amazonaws.com 但是现在你需要确保你把你的钥匙放在aws控制台的这个区域。
如果你真的改变了 HADOOP_VERSION1.0.4 ,我会注意到的

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

不会返回任何美国东部地区的图像。请注意,版本( HADOOP_VERSION )您正在运行的hadoop发行版的 hadoop-ec2 来自的命令不需要与运行映像的hadoop版本相同。
最后,作为一个直截了当的修复,您可以找到您想要使用的ami,并强制设置 AMI_IMAGE 中的图像名称 launch-hadoop-master 以及 launch-hadoop-cluster 脚本。

相关问题