Some clarification.

Indeed, I wanted to launch a cluster of 5 m1.medium instances
simultaneously with running cluster of 5 m1.small instances. By mistake,
the whirr.cluster-name value was the same in corresponding configuration
files. Here is the log:

whirr launch-cluster --config recipes/ec2_medium5.properties
Running on provider aws-ec2 using identity ABRACADABRA
Bootstrapping cluster
Configuring template for
bootstrap-hadoop-datanode_hadoop-tasktracker_ganglia-monitor
Configuring template for
bootstrap-hadoop-namenode_hadoop-jobtracker_ganglia-monitor_ganglia-metad_pig-client
Starting 5 node(s) with roles [hadoop-datanode, hadoop-tasktracker,
ganglia-monitor]
Starting 1 node(s) with roles [hadoop-namenode, hadoop-jobtracker,
ganglia-monitor, ganglia-metad, pig-client]
Unexpected error while starting 5 nodes, minimum 5 nodes for
[hadoop-datanode, hadoop-tasktracker, ganglia-monitor] of cluster small5
java.util.concurrent.ExecutionException:
org.jclouds.aws.AWSResponseException: request POST
https://ec2.us-east-1.amazonaws.com/ HTTP/1.1 failed with code 400, error:
AWSError{requestId='c06fd438-015c-4929-a67e-9d5c70a82dc4',
requestToken='null', code='InstanceLimitExceeded', message='20 instance(s)
are already running.', context='{Response=, Errors=}'}
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
 at
org.apache.whirr.compute.StartupProcess.waitForOutcomes(StartupProcess.java:130)
at org.apache.whirr.compute.StartupProcess.call(StartupProcess.java:83)
 at org.apache.whirr.compute.StartupProcess.call(StartupProcess.java:41)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.jclouds.aws.AWSResponseException: request POST
https://ec2.us-east-1.amazonaws.com/ HTTP/1.1 failed with code 400, error:
AWSError{requestId='c06fd438-015c-4929-a67e-9d5c70a82dc4',
requestToken='null', code='InstanceLimitExceeded', message='20 instance(s)
are already running.', context='{Response=, Errors=}'}
 at
org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:75)
at
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
 at
org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.shouldContinue(BaseHttpCommandExecutorService.java:191)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:161)
 at
org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:130)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
 at
org.jclouds.concurrent.config.ExecutorServiceModule$DescribingExecutorService.submit(ExecutorServiceModule.java:184)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService.submit(BaseHttpCommandExecutorService.java:127)
 at
org.jclouds.http.TransformingHttpCommandExecutorServiceImpl.submit(TransformingHttpCommandExecutorServiceImpl.java:54)
at
org.jclouds.http.TransformingHttpCommandImpl.execute(TransformingHttpCommandImpl.java:73)
 at
org.jclouds.rest.internal.AsyncRestClientProxy.createListenableFutureForHttpRequestMappedToMethodAndArgs(AsyncRestClientProxy.java:198)
at
org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:134)
 at $Proxy77.runInstancesInRegion(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:601)
at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:137)
 at $Proxy78.runInstancesInRegion(Unknown Source)
at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(EC2CreateNodesInGroupThenAddToSet.java:232)
 at
org.jclouds.aws.ec2.compute.strategy.AWSEC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(AWSEC2CreateNodesInGroupThenAddToSet.java:116)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createKeyPairAndSecurityGroupsAsNeededThenRunInstances(EC2CreateNodesInGroupThenAddToSet.java:218)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.execute(EC2CreateNodesInGroupThenAddToSet.java:140)
at
org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:200)
 at
org.jclouds.aws.ec2.compute.AWSEC2ComputeService.createNodesInGroup(AWSEC2ComputeService.java:130)
at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:55)
 at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:30)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
 at
org.jclouds.concurrent.config.ExecutorServiceModule$DescribingExecutorService.submit(ExecutorServiceModule.java:184)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService.submit(BaseHttpCommandExecutorService.java:127)
 at
org.jclouds.http.TransformingHttpCommandExecutorServiceImpl.submit(TransformingHttpCommandExecutorServiceImpl.java:54)
at
org.jclouds.http.TransformingHttpCommandImpl.execute(TransformingHttpCommandImpl.java:73)
 at
org.jclouds.rest.internal.AsyncRestClientProxy.createListenableFutureForHttpRequestMappedToMethodAndArgs(AsyncRestClientProxy.java:198)
at
org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:134)
 at $Proxy77.runInstancesInRegion(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:601)
at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:137)
 at $Proxy78.runInstancesInRegion(Unknown Source)
at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(EC2CreateNodesInGroupThenAddToSet.java:232)
 at
org.jclouds.aws.ec2.compute.strategy.AWSEC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(AWSEC2CreateNodesInGroupThenAddToSet.java:116)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createKeyPairAndSecurityGroupsAsNeededThenRunInstances(EC2CreateNodesInGroupThenAddToSet.java:218)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.execute(EC2CreateNodesInGroupThenAddToSet.java:140)
at
org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:200)
 at
org.jclouds.aws.ec2.compute.AWSEC2ComputeService.createNodesInGroup(AWSEC2ComputeService.java:130)
at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:55)
 at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:30)
... 5 more
Starting 5 node(s) with roles [hadoop-datanode, hadoop-tasktracker,
ganglia-monitor]
Unexpected error while starting 5 nodes, minimum 5 nodes for
[hadoop-datanode, hadoop-tasktracker, ganglia-monitor] of cluster small5
java.util.concurrent.ExecutionException:
org.jclouds.aws.AWSResponseException: request POST
https://ec2.us-east-1.amazonaws.com/ HTTP/1.1 failed with code 400, error:
AWSError{requestId='3f857b13-ce9b-4f67-9b15-1d1e64afa928',
requestToken='null', code='InstanceLimitExceeded', message='20 instance(s)
are already running.', context='{Response=, Errors=}'}
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
 at
org.apache.whirr.compute.StartupProcess.waitForOutcomes(StartupProcess.java:130)
at org.apache.whirr.compute.StartupProcess.call(StartupProcess.java:83)
 at org.apache.whirr.compute.StartupProcess.call(StartupProcess.java:41)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.jclouds.aws.AWSResponseException: request POST
https://ec2.us-east-1.amazonaws.com/ HTTP/1.1 failed with code 400, error:
AWSError{requestId='3f857b13-ce9b-4f67-9b15-1d1e64afa928',
requestToken='null', code='InstanceLimitExceeded', message='20 instance(s)
are already running.', context='{Response=, Errors=}'}
 at
org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:75)
at
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
 at
org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.shouldContinue(BaseHttpCommandExecutorService.java:191)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:161)
 at
org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:130)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
 at
org.jclouds.concurrent.config.ExecutorServiceModule$DescribingExecutorService.submit(ExecutorServiceModule.java:184)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService.submit(BaseHttpCommandExecutorService.java:127)
 at
org.jclouds.http.TransformingHttpCommandExecutorServiceImpl.submit(TransformingHttpCommandExecutorServiceImpl.java:54)
at
org.jclouds.http.TransformingHttpCommandImpl.execute(TransformingHttpCommandImpl.java:73)
 at
org.jclouds.rest.internal.AsyncRestClientProxy.createListenableFutureForHttpRequestMappedToMethodAndArgs(AsyncRestClientProxy.java:198)
at
org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:134)
 at $Proxy77.runInstancesInRegion(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:601)
at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:137)
 at $Proxy78.runInstancesInRegion(Unknown Source)
at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(EC2CreateNodesInGroupThenAddToSet.java:232)
 at
org.jclouds.aws.ec2.compute.strategy.AWSEC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(AWSEC2CreateNodesInGroupThenAddToSet.java:116)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createKeyPairAndSecurityGroupsAsNeededThenRunInstances(EC2CreateNodesInGroupThenAddToSet.java:218)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.execute(EC2CreateNodesInGroupThenAddToSet.java:140)
at
org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:200)
 at
org.jclouds.aws.ec2.compute.AWSEC2ComputeService.createNodesInGroup(AWSEC2ComputeService.java:130)
at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:55)
 at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:30)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
 at
org.jclouds.concurrent.config.ExecutorServiceModule$DescribingExecutorService.submit(ExecutorServiceModule.java:184)
at
org.jclouds.http.internal.BaseHttpCommandExecutorService.submit(BaseHttpCommandExecutorService.java:127)
 at
org.jclouds.http.TransformingHttpCommandExecutorServiceImpl.submit(TransformingHttpCommandExecutorServiceImpl.java:54)
at
org.jclouds.http.TransformingHttpCommandImpl.execute(TransformingHttpCommandImpl.java:73)
 at
org.jclouds.rest.internal.AsyncRestClientProxy.createListenableFutureForHttpRequestMappedToMethodAndArgs(AsyncRestClientProxy.java:198)
at
org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:134)
 at $Proxy77.runInstancesInRegion(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:601)
at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:137)
 at $Proxy78.runInstancesInRegion(Unknown Source)
at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(EC2CreateNodesInGroupThenAddToSet.java:232)
 at
org.jclouds.aws.ec2.compute.strategy.AWSEC2CreateNodesInGroupThenAddToSet.createNodesInRegionAndZone(AWSEC2CreateNodesInGroupThenAddToSet.java:116)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createKeyPairAndSecurityGroupsAsNeededThenRunInstances(EC2CreateNodesInGroupThenAddToSet.java:218)
 at
org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.execute(EC2CreateNodesInGroupThenAddToSet.java:140)
at
org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:200)
 at
org.jclouds.aws.ec2.compute.AWSEC2ComputeService.createNodesInGroup(AWSEC2ComputeService.java:130)
at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:55)
 at org.apache.whirr.compute.NodeStarter.call(NodeStarter.java:30)
... 5 more
Unable to start the cluster. Terminating all nodes.
java.io.IOException: java.util.concurrent.ExecutionException:
java.io.IOException: Too many instance failed while bootstrapping! 0
successfully started instances while 0 instances failed
 at
org.apache.whirr.actions.BootstrapClusterAction.doAction(BootstrapClusterAction.java:125)
at
org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:127)
 at
org.apache.whirr.ClusterController.bootstrapCluster(ClusterController.java:138)
at
org.apache.whirr.ClusterController.launchCluster(ClusterController.java:114)
 at
org.apache.whirr.cli.command.LaunchClusterCommand.run(LaunchClusterCommand.java:69)
at
org.apache.whirr.cli.command.LaunchClusterCommand.run(LaunchClusterCommand.java:59)
 at org.apache.whirr.cli.Main.run(Main.java:69)
at org.apache.whirr.cli.Main.main(Main.java:102)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException:
Too many instance failed while bootstrapping! 0 successfully started
instances while 0 instances failed
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
 at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at
org.apache.whirr.actions.BootstrapClusterAction.doAction(BootstrapClusterAction.java:120)
 ... 7 more
Caused by: java.io.IOException: Too many instance failed while
bootstrapping! 0 successfully started instances while 0 instances failed
 at org.apache.whirr.compute.StartupProcess.call(StartupProcess.java:93)
at org.apache.whirr.compute.StartupProcess.call(StartupProcess.java:41)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
 at java.lang.Thread.run(Thread.java:722)
Finished running destroy phase scripts on all cluster instances
Destroying small5 cluster
Starting 1 node(s) with roles [hadoop-namenode, hadoop-jobtracker,
ganglia-monitor, ganglia-metad, pig-client]
^CException in thread "user thread 20" java.lang.IllegalStateException:
interrupted calling get() on [destroyNode(us-east-1/i-f9d8819f)], so could
not run listeners
 at
org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

On Wed, May 23, 2012 at 4:10 PM, Andrii Vozniuk <[email protected]> wrote:

> Hi guys,
>
> I had a running EC2 cluster called "small5" of 5 m1.small instances. It
> was launched with whirr launch-cluster --configure
> recipes/small5.properties.
>
> I wanted to launch a cluster of 10 m1.small instances simultaneously.
> Thus, I created small10.properties based on small5.properties.
> Unfortunately, I forgot to change the whirr.cluster-name.
>
> When I tried to launch the small10 cluster, I've got exceptions and, what
> is more disappointing, the original small5 cluster was destroyed.
>
> Is there any possibility to inform user about launching a cluster with the
> same name and to require a confirmation before destroying already running
> cluster?
>
> --
> Best regards
> Andrii Vozniuk
>
>
>


-- 
Best regards
Andrii Vozniuk

Reply via email to