[
https://issues.apache.org/jira/browse/WHIRR-378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13579566#comment-13579566
]
Andrew Ash commented on WHIRR-378:
----------------------------------
I'm still seeing this error with these configuration settings:
{noformat}
# hadoop.properties
whirr.cluster-name=myhadoopcluster
whirr.instance-templates=1 hadoop-jobtracker+hadoop-namenode,1
hadoop-datanode+hadoop-tasktracker
whirr.provider=aws-ec2
whirr.identity=<my identity>
whirr.credential=<my credentials>
whirr.cluster-user=whirr
whirr.private-key-file=/home/<my user>/.ssh/id_rsa
whirr.public-key-file=/home/<my user>/.ssh/id_rsa.pub
whirr.env.repo=cdh4
whirr.hadoop.install-function=install_cdh_hadoop
whirr.hadoop.configure-function=configure_cdh_hadoop
whirr.hardware-id=m1.large
whirr.image-id=eu-west-1/ami-5fd2d12b
whirr.location-id=eu-west-1
{noformat}
And this version of whirr:
{noformat}
$ whirr version
Apache Whirr 0.8.0-cdh4.1.3
jclouds 1.5.0-beta.11
$
{noformat}
It appears in the logs that whirr is continuing to create a new keypair and
initializing that into the new VM, but then attempting to use the keypair I
defined. Here are those entries in the log:
{noformat}
2013-02-15 22:26:29,326 DEBUG [jclouds.compute] (main) >> searching
params({imageId=eu-west-1/ami-5fd2d12b, locationId=eu-west-1,
hardwareId=m1.large})
2013-02-15 22:26:29,327 DEBUG [jclouds.compute] (main) << matched
image(eu-west-1/ami-5fd2d12b) hardware(m1.large) location(eu-west-1)
2013-02-15 22:26:29,333 INFO [org.apache.whirr.compute.NodeStarter]
(pool-3-thread-4) Starting 1 node(s) with roles [hadoop-jobtracker,
hadoop-namenode]
2013-02-15 22:26:29,335 DEBUG [jclouds.compute] (pool-3-thread-4) >> running 1
node group(myhadoopcluster) location(eu-west-1) image(eu-west-1/ami-5fd2d12b)
hardwareProfile(m1.large) options({scriptPresent=true, userData=[35, 99, 108,
... <more user data> ...], blockDeviceMappings=[[deviceName=/dev/sdc,
virtualName=ephemeral1, snapshotId=null, sizeInGib=null, noDevice=null,
deleteOnTermination=null]]})
2013-02-15 22:26:30,469 DEBUG [jclouds.compute] (pool-3-thread-2) << created
keyPair([region=eu-west-1, keyName=jclouds#myhadoopcluster#68e,
fingerprint=49:57:db:e8:30:57:94:4a:3b:7c:b6:db:5f:d4:8d:9a,sha1OfPrivateKey=d9:6b:2d:f3:97:e8:97:ed:d8:de:f3:8a:c1:9b:53:0a:7f:18:cc:77,
keyMaterial?=true])
2013-02-15 22:26:30,470 DEBUG [jclouds.compute] (pool-3-thread-2) >> creating
securityGroup region(eu-west-1) name(jclouds#myhadoopcluster)
2013-02-15 22:26:30,646 DEBUG [jclouds.compute] (pool-3-thread-2) << created
securityGroup(jclouds#myhadoopcluster)
2013-02-15 22:26:30,646 DEBUG [jclouds.compute] (pool-3-thread-2) >>
authorizing securityGroup region(eu-west-1) name(jclouds#myhadoopcluster)
port(22)
2013-02-15 22:26:30,728 DEBUG [jclouds.compute] (pool-3-thread-2) << authorized
securityGroup(jclouds#myhadoopcluster)
2013-02-15 22:26:30,728 DEBUG [jclouds.compute] (pool-3-thread-2) >>
authorizing securityGroup region(eu-west-1) name(jclouds#myhadoopcluster)
permission to itself
2013-02-15 22:26:30,927 DEBUG [jclouds.compute] (pool-3-thread-2) << authorized
securityGroup(jclouds#myhadoopcluster)
2013-02-15 22:26:30,928 DEBUG [jclouds.compute] (pool-3-thread-2) >> running 1
instance region(eu-west-1) zone(null) ami(ami-5fd2d12b)
params({InstanceType=[m1.large], SecurityGroup.1=[jclouds#myhadoopcluster],
KeyName=[jclouds#myhadoopcluster#68e], UserData=[<some user data>],
BlockDeviceMapping.1.DeviceName=[/dev/sdc],
BlockDeviceMapping.1.VirtualName=[ephemeral1]})
2013-02-15 22:26:30,930 DEBUG [jclouds.compute] (pool-3-thread-4) >> running 1
instance region(eu-west-1) zone(null) ami(ami-5fd2d12b)
params({InstanceType=[m1.large], SecurityGroup.1=[jclouds#myhadoopcluster],
KeyName=[jclouds#myhadoopcluster#68e], UserData=[<some user data>],
BlockDeviceMapping.1.DeviceName=[/dev/sdc],
BlockDeviceMapping.1.VirtualName=[ephemeral1]})
{noformat}
Note the "created keyPair" line and the running instance with that parameter
(68e is the id of the generated key).
Is there a configuration setting I can use to force whirr to use my given ssh
keypair?
> Auth fail when creating a cluster from an EC2 instance
> ------------------------------------------------------
>
> Key: WHIRR-378
> URL: https://issues.apache.org/jira/browse/WHIRR-378
> Project: Whirr
> Issue Type: Bug
> Components: service/hadoop
> Affects Versions: 0.6.0
> Reporter: Marc de Palol
> Assignee: Adrian Cole
> Priority: Critical
> Fix For: 0.8.0
>
> Attachments: run-test.sh, setup-whirr.sh
>
>
> There is a ssh auth problem when creating a hadoop cluster from an EC2 ubuntu
> instance.
> I've been using the same configuration file from an EC2 computer an a
> physical one, everything works fine in the physical one, but I keep getting
> this error in EC2:
> Running configuration script on nodes: [us-east-1/i-c7fde5a6,
> us-east-1/i-c9fde5a8, us-east-1/i-cbfde5aa]
> <<authenticated>> woke to: net.schmizz.sshj.userauth.UserAuthException:
> publickey auth failed
> <<authenticated>> woke to: net.schmizz.sshj.userauth.UserAuthException:
> publickey auth failed
> The user in the virtual machine is new and with valid .ssh keys.
> The hadoop config file is (omitting commented lines):
> whirr.cluster-name=hadoop
> whirr.instance-templates=1 hadoop-namenode+hadoop-jobtracker,3
> hadoop-datanode+hadoop-tasktracker
> whirr.provider=aws-ec2
> whirr.identity=****
> whirr.credential=****
> whirr.hardware-id=c1.xlarge
> whirr.image-id=us-east-1/ami-da0cf8b3
> whirr.location-id=us-east-1
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira