使用whirr启动群集

时间:2011-01-16 02:25:03

标签: amazon-web-services hadoop cloudera

我是whirr和AWS的新手,如果我问傻话,请提前道歉。

我按照here的指示来设置whirr和

bin/whirr launch-cluster --config hadoop.properties

失败并出现以下情况:

[~/src/cloudera/whirr-0.1.0+23]$ bin/whirr version                                                                                                                                       rvm:ruby-1.8.7-p299 
Apache Whirr 0.1.0+23
[~/src/cloudera/whirr-0.1.0+23]$ bin/whirr launch-cluster --config hadoop.properties                                                                                                     rvm:ruby-1.8.7-p299 
Launching myhadoopcluster cluster
Exception in thread "main" com.google.inject.CreationException: Guice creation errors:

1) No implementation for java.lang.String annotated with @com.google.inject.name.Named(value=jclouds.credential) was bound.
  while locating java.lang.String annotated with @com.google.inject.name.Named(value=jclouds.credential)
    for parameter 2 at org.jclouds.aws.filters.FormSigner.<init>(FormSigner.java:91)
  at org.jclouds.aws.config.AWSFormSigningRestClientModule.provideRequestSigner(AWSFormSigningRestClientModule.java:66)

1 error
  at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:410)
  at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:166)
  at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:118)
  at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:100)
  at com.google.inject.Guice.createInjector(Guice.java:95)
  at com.google.inject.Guice.createInjector(Guice.java:72)
  at org.jclouds.rest.RestContextBuilder.buildInjector(RestContextBuilder.java:141)
  at org.jclouds.compute.ComputeServiceContextBuilder.buildInjector(ComputeServiceContextBuilder.java:53)
  at org.jclouds.aws.ec2.EC2ContextBuilder.buildInjector(EC2ContextBuilder.java:101)
  at org.jclouds.compute.ComputeServiceContextBuilder.buildComputeServiceContext(ComputeServiceContextBuilder.java:66)
  at org.jclouds.compute.ComputeServiceContextFactory.buildContextUnwrappingExceptions(ComputeServiceContextFactory.java:72)
  at org.jclouds.compute.ComputeServiceContextFactory.createContext(ComputeServiceContextFactory.java:114)
  at org.apache.whirr.service.ComputeServiceContextBuilder.build(ComputeServiceContextBuilder.java:41)
  at org.apache.whirr.service.hadoop.HadoopService.launchCluster(HadoopService.java:84)
  at org.apache.whirr.service.hadoop.HadoopService.launchCluster(HadoopService.java:61)
  at org.apache.whirr.cli.command.LaunchClusterCommand.run(LaunchClusterCommand.java:61)
  at org.apache.whirr.cli.Main.run(Main.java:65)
  at org.apache.whirr.cli.Main.main(Main.java:91)

我的hadoop.properties文件有一个AWS Access Key和Secret Access Key。

关于我可能做错了什么以及我需要做些什么来解决这个问题的任何指示?

谢谢!

1 个答案:

答案 0 :(得分:3)

好的,这似乎是我的hadoop.properties文件中的语法问题。在从AWS管理控制台复制我的密钥的过程中,“Whirr.credential”被截断为“Whirr.cred”。

经典的脸部手掌瞬间!

无论如何,留下这个以便任何人在Google上搜索此错误消息都知道要检查他们的hadoop.properties文件三倍!