0

我是 whirr 和 AWS 的新手,所以如果我问一些愚蠢的问题,请提前道歉。

我正在按照这里的指示设置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 访问密钥和秘密访问密钥。

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

谢谢!

4

1 回答 1

3

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

经典的掌脸时刻!

不管怎样,把这个留着,这样任何在谷歌上搜索这个错误信息的人都知道去三次检查他们的 hadoop.properties 文件!

于 2011-01-16T19:51:36.700 回答