カスタム AMI イメージのクラスターを起動しようとしています。AMI イメージは、Java がインストールされた Amazon フリー ティアの選択からの Ubunutu 12.04 サーバー イメージです (実際には、numpy と scipy で AMI を作成したいと考えています)。実際、ロールとして whirr と noop を使用して Ubuntu 12.04 インスタンスを起動して、そのイメージを作成しました。次に、Java をインストールし、AWS オンライン コンソールで [Create Image (EBS AMI)] を選択しました。image-idのみを変更して、元のubuntuサーバーを起動するために使用したのと同じwhirrレシピスクリプトを使用しています。
Whirr がイメージを起動すると、コンソールに表示されます。次に、noop に対して InitScript を実行しようとしますが、何も起こりません。10 分後、スクリプトの実行時間が長すぎるために例外がスローされます。whirr.log にはレコードが含まれています
error acquiring SFTPClient() (out of retries - max 7): Invalid packet: indicated length 1349281121 too large
チュートリアルの 1 つで言及されているこのエラーを見ました。提案された解決策は、行を追加することでした。
whirr.bootstrap-user=ec2-user
JCloudにユーザー名を知らせます。これが正しいユーザー名であることはわかっていますが、デフォルトで使用されていました。行を追加した後、whirr.log は認証エラー、公開鍵の問題を示します。最後に、「ubuntu」をユーザーとして使用すると、エラーが死にかけています。なぜなら - java.net.SocketTimeoutException: Read timed out
クラスターを起動するために使用するファイルは次のとおりです
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