Amazon ec2 使用自定义AMI的EC2上的Apache Whirr

Amazon ec2 使用自定义AMI的EC2上的Apache Whirr,amazon-ec2,amazon-ami,apache-whirr,Amazon Ec2,Amazon Ami,Apache Whirr,我正在尝试启动一个自定义AMI映像集群。AMI映像只是安装了Java的Amazon free tier selection中的Ubunutu 12.04服务器映像(我实际上想用numpy和scipy创建AMI)。事实上,我通过启动Ubuntu12.04实例创建了这个映像,其中whirr和noop是一个角色。然后我安装了Java,并在AWS在线控制台中选择了创建映像(EBS AMI)。我使用的是和启动原始ubuntu服务器时使用的相同的whirr脚本,只是图像id发生了变化 当启动映像时,它会显示

我正在尝试启动一个自定义AMI映像集群。AMI映像只是安装了Java的Amazon free tier selection中的Ubunutu 12.04服务器映像(我实际上想用numpy和scipy创建AMI)。事实上,我通过启动Ubuntu12.04实例创建了这个映像,其中whirr和noop是一个角色。然后我安装了Java,并在AWS在线控制台中选择了创建映像(EBS AMI)。我使用的是和启动原始ubuntu服务器时使用的相同的whirr脚本,只是图像id发生了变化

当启动映像时,它会显示在控制台中。然后它尝试为noop运行InitScript,但什么也没有发生。10分钟后,它抛出因脚本运行时间过长而导致的异常。whirr.log包含记录

error acquiring SFTPClient() (out of retries - max 7): Invalid packet: indicated length 1349281121 too large
我在其中一个教程中看到了这个错误,建议的解决方案是添加行

whirr.bootstrap user=ec2用户

让JCloud知道用户名。我知道这是正确的用户名,在默认情况下使用过。添加行后,whirr.log显示身份验证错误,公钥有问题。 最后,当我使用“ubuntu”作为用户时,错误是 因为-java.net.SocketTimeoutException:读取超时而死亡

这是我用来启动集群的文件

whirr.cluster-name=pineapple
whirr.instance-templates=1 noop
whirr.provider=aws-ec2
whirr.identity=${env:AWS_ACCESS_KEY_ID}
whirr.credential=${env:AWS_SECRET_ACCESS_KEY}
whirr.private-key-file=${sys:user.home}/.ssh/id_rsa
whirr.public-key-file=${sys:user.home}/.ssh/id_rsa.pub
whirr.env.repo=cdh4
whirr.hardware-id=t1.micro
whirr.image-id=us-east-1/ami-224cda4b
whirr.image-location=us-east-1b

异常日志将帮助我们解决您的问题

此外,设置以下选项可以解决您的问题

whirr.cluster-user=<Clu>
whirr.cluster-user=