You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whirr.apache.org by "Han,Meng" <me...@ufl.edu> on 2013/09/11 04:46:57 UTC
java.lang.NoClassDefFoundError
Hi all,
I am adding a plugin to CloudStack. One of the APIs of this plugin
(launchCluster) is to start a haoop cluster on Cloudstack using Whirr. I
included whirr as a dependency to my plugin.
<dependency>
<groupId>org.apache.whirr</groupId>
<artifactId>whirr</artifactId>
<version>0.8.2</version>
<type>pom</type>
</dependency>
When I test this api in CloudMonkey I am getting the following error:
> launchCluster config=/home/meng/whirr/dream
HTTP Error 500: java.lang.NoClassDefFoundError:
org/jclouds/json/config/GsonModule$DateAdapter
Below is the management server log :
Running on provider cloudstack using identity
h3DKHC9AVlhKnUhpyThMuLhC119QfNQQ8xhyjbf_rnu5ZL1QeOWdw7aZRGXVO1VApG6q0aK-A-tQRQsZFwnOXQ
ERROR [apache.whirr.ClusterController] (1859072722@qtp-1275353837-2:)
Unable to start the cluster. Terminating all nodes.
com.google.common.util.concurrent.ExecutionError:
java.lang.NoClassDefFoundError: com/google/gson/TypeAdapter
at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2261)
at com.google.common.cache.LocalCache.get(LocalCache.java:3995)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3999)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4869)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4875)
at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:86)
at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:78)
at
org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:110)
at
org.apache.whirr.ClusterController.bootstrapCluster(ClusterController.java:137)
at
org.apache.whirr.ClusterController.launchCluster(ClusterController.java:113)
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.cloudstack.api.command.user.emr.LaunchClusterCmd.execute(LaunchClusterCmd.java:63)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:505)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:355)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.NoClassDefFoundError: com/google/gson/TypeAdapter
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
at
org.jclouds.cloudstack.config.CloudStackParserModule.configure(CloudStackParserModule.java:46)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at
com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.google.inject.spi.Elements.getElements(Elements.java:101)
at
com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
at
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
at com.google.inject.Guice.createInjector(Guice.java:95)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:329)
at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:620)
at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:600)
at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:117)
at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:96)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3594)
at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
... 36 more
Caused by: java.lang.ClassNotFoundException:
com.google.gson.TypeAdapter
at
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
at java.lang.ClassLoader.defineClass1(Native Method)
... 63 more
INFO [whirr.state.ClusterStateStore] (1859072722@qtp-1275353837-2:)
Unable to load cluster state, assuming it has no running nodes.
java.io.FileNotFoundException: /home/meng/.whirr/hadoop/instances (No
such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at
com.google.common.io.Files$FileByteSource.openStream(Files.java:124)
at
com.google.common.io.Files$FileByteSource.openStream(Files.java:114)
at
com.google.common.io.ByteSource$AsCharSource.openStream(ByteSource.java:287)
at com.google.common.io.CharStreams$3.getInput(CharStreams.java:508)
at com.google.common.io.CharStreams$3.getInput(CharStreams.java:505)
at com.google.common.io.CharStreams.readLines(CharStreams.java:319)
at com.google.common.io.Files.readLines(Files.java:690)
at
org.apache.whirr.state.FileClusterStateStore.load(FileClusterStateStore.java:55)
at
org.apache.whirr.state.ClusterStateStore.tryLoadOrEmpty(ClusterStateStore.java:59)
at
org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:226)
at
org.apache.whirr.ClusterController.launchCluster(ClusterController.java:121)
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.cloudstack.api.command.user.emr.LaunchClusterCmd.execute(LaunchClusterCmd.java:63)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:505)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:355)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
[ERROR] Error for /client/api
com.google.common.util.concurrent.ExecutionError:
java.lang.NoClassDefFoundError:
org/jclouds/json/config/GsonModule$DateAdapter
at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2261)
at com.google.common.cache.LocalCache.get(LocalCache.java:3995)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3999)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4869)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4875)
at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:86)
at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:78)
at
org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:110)
at
org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:233)
at
org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:226)
at
org.apache.whirr.ClusterController.launchCluster(ClusterController.java:121)
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.cloudstack.api.command.user.emr.LaunchClusterCmd.execute(LaunchClusterCmd.java:63)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:505)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:355)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.NoClassDefFoundError:
org/jclouds/json/config/GsonModule$DateAdapter
at
org.jclouds.cloudstack.config.CloudStackParserModule.configure(CloudStackParserModule.java:46)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at
com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.google.inject.spi.Elements.getElements(Elements.java:101)
at
com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
at
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
at com.google.inject.Guice.createInjector(Guice.java:95)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:329)
at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:620)
at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:600)
at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:117)
at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:96)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3594)
at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
... 37 more
The execute method for the lauchClusterCmd is below:
public void execute() {
LaunchClusterResponse response = new LaunchClusterResponse();
response.setObjectName("launchCluster");
LaunchClusterCommand command = null;
try {
command = new LaunchClusterCommand(); //imported from
org.apache.whirr.cli.command.LaunchClusterCommand;
} catch (Exception ex) {
Logger.getLogger(LaunchClusterCmd.class.getName()).log(Level.SEVERE,
null, ex);
}
String[] args = new String[2];
args[0] = "--config";
args[1] = config;
try {
command.run(System.in, System.out, System.err,
Arrays.asList(args));
} catch (Exception ex) {
Logger.getLogger(LaunchClusterCmd.class.getName()).log(Level.SEVERE,
null, ex);
}
response.setResponseName(getCommandName());
output = "successfully launched the cluster.";
response.setOutPut(output);
this.setResponseObject(response);
}
Does the above error indicate that I am missing a couple of class
files or am I not configuring the JAVA classpath correctly?
Also could someone explain what does this file
client/target/conf/classpath.conf do ?
Thanks.
Cheers,
Meng
Re: java.lang.NoClassDefFoundError
Posted by "Han,Meng" <me...@ufl.edu>.
Andrei,
I modified the pom file as follows:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-plugin-api-emr</artifactId>
<name>Apache CloudStack Plugin - API Elastic Map Reduce</name>
<parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack-plugins</artifactId>
<version>4.1.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-utils</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.whirr</groupId>
<artifactId>whirr-cli</artifactId>
<version>0.9.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<testResources>
<testResource>
<directory>test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Xmx1024m</argLine>
<excludes>
<exclude>org/apache/cloudstack/discovery/integration/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
The problem is still there.
I installed whirr 0.9.0-SNAPSHOT on my desktop and check
/home/meng/whirr/cli/target/lib, the guava version is guava-14.0.1.jar
then I went to /home/meng/cloudstack/api/target/dependency, the guava
version there is guava-14.0-rc1.jar
It looks true that cloud-api requires a specific version of Guava. Do
you know how I can solve this situation? The cloudstack api pom file
does not include guava as an explicit dependency.
I have a class now, I will come back at 3.
Thanks again Andrei!
Best Regards,
Meng
On Wed, 11 Sep 2013 18:35:48 +0300, Andrei Savu wrote:
> Do not add jclouds as an explicit dependency - maven will find the
> right
> one as a transitive dependency of Whirr. That will solve your problem
> unless cloud-api requires a specific (older) version of Guava.
>
> -- Andrei Savu / axemblr.com
>
>
> On Wed, Sep 11, 2013 at 6:31 PM, Han,Meng <me...@ufl.edu> wrote:
>
>> Hi Andrei,
>>
>> Thanks for your reply. The complete pom file for this plugin is
>> below.
>>
>> <project
>> xmlns="http://maven.apache.**org/POM/4.0.0<http://maven.apache.org/POM/4.0.0>
>> "
>>
>> xmlns:xsi="http://www.w3.org/**2001/XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>
>> "
>>
>> xsi:schemaLocation="http://**maven.apache.org/POM/4.0.0<http://maven.apache.org/POM/4.0.0>
>>
>> http://maven.apache.org/xsd/**maven-4.0.0.xsd<http://maven.apache.org/xsd/maven-4.0.0.xsd>
>> ">
>> <modelVersion>4.0.0</**modelVersion>
>> <artifactId>cloud-plugin-api-**emr</artifactId>
>> <name>Apache CloudStack Plugin - API Elastic Map Reduce</name>
>> <parent>
>> <groupId>org.apache.**cloudstack</groupId>
>> <artifactId>cloudstack-**plugins</artifactId>
>> <version>4.1.1</version>
>> <relativePath>../../pom.xml</**relativePath>
>> </parent>
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.**cloudstack</groupId>
>> <artifactId>cloud-api</**artifactId>
>> <version>${project.version}</**version>
>> </dependency>
>> <dependency>
>> <groupId>org.apache.**cloudstack</groupId>
>> <artifactId>cloud-utils</**artifactId>
>> <version>${project.version}</**version>
>> </dependency>
>>
>> <dependency>
>> <groupId>org.apache.whirr</**groupId>
>> <artifactId>whirr</artifactId>
>> <version>0.8.2</version>
>> <type>pom</type>
>> </dependency>
>> <dependency>
>> <groupId>org.apache.jclouds</**groupId>
>> <artifactId>jclouds-all</**artifactId>
>> <version>1.6.1-incubating</**version>
>> </dependency>
>> </dependencies>
>> <build>
>> <defaultGoal>install</**defaultGoal>
>> <sourceDirectory>src</**sourceDirectory>
>> <testSourceDirectory>test</**testSourceDirectory>
>> <testResources>
>> <testResource>
>> <directory>test/resources</**directory>
>> </testResource>
>> </testResources>
>> <plugins>
>> <plugin>
>> <groupId>org.apache.maven.**plugins</groupId>
>> <artifactId>maven-surefire-**plugin</artifactId>
>> <configuration>
>> <argLine>-Xmx1024m</argLine>
>> <excludes>
>> <exclude>org/apache/**cloudstack/discovery/**
>> integration/*</exclude>
>> </excludes>
>> </configuration>
>> </plugin>
>> </plugins>
>> </build>
>> </project>
>>
>>
>>
>> On Wed, 11 Sep 2013 07:52:27 +0300, Andrei Savu wrote:
>>
>>> Most likely you have another version of Guava on your classpath.
>>> Please
>>> share the complete pom.xml file.
>>>
>>> -- Andrei Savu / axemblr.com
>>>
>>>
>>> On Wed, Sep 11, 2013 at 5:46 AM, Han,Meng <me...@ufl.edu> wrote:
>>>
>>> Hi all,
>>>>
>>>> I am adding a plugin to CloudStack. One of the APIs of this plugin
>>>> (launchCluster) is to start a haoop cluster on Cloudstack using
>>>> Whirr. I
>>>> included whirr as a dependency to my plugin.
>>>>
>>>> <dependency>
>>>> <groupId>org.apache.whirr</****groupId>
>>>>
>>>> <artifactId>whirr</artifactId>
>>>> <version>0.8.2</version>
>>>> <type>pom</type>
>>>> </dependency>
>>>>
>>>>
>>>> When I test this api in CloudMonkey I am getting the following
>>>> error:
>>>>
>>>> launchCluster config=/home/meng/whirr/dream
>>>>
>>>>>
>>>>> HTTP Error 500: java.lang.****NoClassDefFoundError:
>>>> org/jclouds/json/config/
>>>> **GsonModule$DateAdapter
>>>>
>>>>
>>>> Below is the management server log :
>>>>
>>>> Running on provider cloudstack using identity
>>>>
>>>> h3DKHC9AVlhKnUhpyThMuLhC119QfN****QQ8xhyjbf_****
>>>> rnu5ZL1QeOWdw7aZRGXVO1VApG6q0a
>>>> **K-A-tQRQsZFwnOXQ
>>>> ERROR [apache.whirr.****ClusterController]
>>>> (1859072722@qtp-1275353837-2
>>>> :)
>>>>
>>>> Unable to start the cluster. Terminating all nodes.
>>>> com.google.common.util.****concurrent.ExecutionError:
>>>> java.lang.****
>>>> NoClassDefFoundError:
>>>> com/google/gson/TypeAdapter
>>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>>> LocalCache.java:2261)
>>>> at
>>>> com.google.common.cache.****LocalCache.get(LocalCache.**
>>>> java:3995)
>>>> at com.google.common.cache.****LocalCache.getOrLoad(**
>>>> LocalCache.java:3999)
>>>> at
>>>> com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>>> get(LocalCache.java:4869)
>>>> at
>>>> com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>>> getUnchecked(LocalCache.java:****4875)
>>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>>> ComputeCache.java:86)
>>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>>> ComputeCache.java:78)
>>>> at
>>>> org.apache.whirr.actions.****ScriptBasedClusterAction.****
>>>> execute(*
>>>> *ScriptBasedClusterAction.**java:**110)
>>>> at org.apache.whirr.****ClusterController.****
>>>> bootstrapCluster(**
>>>> ClusterController.java:137)
>>>> at
>>>> org.apache.whirr.****ClusterController.****launchCluster(**
>>>> ClusterController.java:113)
>>>> 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.cloudstack.api.****command.user.emr.**
>>>> LaunchClusterCmd.execute(****LaunchClusterCmd.java:63)
>>>> at com.cloud.api.ApiDispatcher.****
>>>> dispatch(ApiDispatcher.java:**
>>>> 162)
>>>> at
>>>> com.cloud.api.ApiServer.****queueCommand(ApiServer.java:****
>>>> 505)
>>>> at
>>>> com.cloud.api.ApiServer.****handleRequest(ApiServer.java:***
>>>> *355)
>>>> at
>>>> com.cloud.api.ApiServlet.****processRequest(ApiServlet.**
>>>> java:302)
>>>> at com.cloud.api.ApiServlet.****doGet(ApiServlet.java:66)
>>>> at javax.servlet.http.****HttpServlet.service(**
>>>> HttpServlet.java:707)
>>>> at javax.servlet.http.****HttpServlet.service(**
>>>> HttpServlet.java:820)
>>>> at org.mortbay.jetty.servlet.****ServletHolder.handle(**
>>>> ServletHolder.java:511)
>>>> at org.mortbay.jetty.servlet.****ServletHandler.handle(**
>>>> ServletHandler.java:401)
>>>> at
>>>> org.mortbay.jetty.security.****SecurityHandler.handle(**
>>>> SecurityHandler.java:216)
>>>> at org.mortbay.jetty.servlet.****SessionHandler.handle(**
>>>> SessionHandler.java:182)
>>>> at org.mortbay.jetty.handler.****ContextHandler.handle(**
>>>> ContextHandler.java:766)
>>>> at org.mortbay.jetty.webapp.****WebAppContext.handle(**
>>>> WebAppContext.java:450)
>>>> at
>>>> org.mortbay.jetty.handler.****ContextHandlerCollection.****
>>>> handle(*
>>>> *ContextHandlerCollection.**java:**230)
>>>> at
>>>> org.mortbay.jetty.handler.****HandlerCollection.handle(**
>>>> HandlerCollection.java:114)
>>>> at org.mortbay.jetty.handler.****HandlerWrapper.handle(**
>>>> HandlerWrapper.java:152)
>>>> at org.mortbay.jetty.Server.****handle(Server.java:326)
>>>> at org.mortbay.jetty.****HttpConnection.handleRequest(****
>>>> HttpConnection.java:542)
>>>> at
>>>> org.mortbay.jetty.****HttpConnection$RequestHandler.****
>>>> headerComplete(HttpConnection.****java:928)
>>>> at
>>>> org.mortbay.jetty.HttpParser.****parseNext(HttpParser.java:**
>>>> 549)
>>>> at
>>>> org.mortbay.jetty.HttpParser.****parseAvailable(HttpParser.**
>>>> java:212)
>>>> at org.mortbay.jetty.****HttpConnection.handle(**
>>>> HttpConnection.java:404)
>>>> at org.mortbay.io.nio.****SelectChannelEndPoint.run(**
>>>> SelectChannelEndPoint.java:****410)
>>>> at org.mortbay.thread.****QueuedThreadPool$PoolThread.**
>>>> run(QueuedThreadPool.java:582)
>>>> Caused by: java.lang.****NoClassDefFoundError:
>>>> com/google/gson/TypeAdapter
>>>> at java.lang.ClassLoader.****defineClass1(Native Method)
>>>> at
>>>> java.lang.ClassLoader.****defineClass(ClassLoader.java:***
>>>> *791)
>>>> at java.security.****SecureClassLoader.defineClass(****
>>>> SecureClassLoader.java:142)
>>>> at
>>>> java.net.URLClassLoader.****defineClass(URLClassLoader.**
>>>> java:449)
>>>> at
>>>> java.net.URLClassLoader.****access$100(URLClassLoader.****
>>>> java:71)
>>>> at
>>>> java.net.URLClassLoader$1.run(****URLClassLoader.java:361)
>>>> at
>>>> java.net.URLClassLoader$1.run(****URLClassLoader.java:355)
>>>> at
>>>> java.security.****AccessController.doPrivileged(****Native
>>>> Method)
>>>> at
>>>> java.net.URLClassLoader.****findClass(URLClassLoader.java:**
>>>> **354)
>>>> at
>>>> org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>>> WebAppClassLoader.java:392)
>>>> at
>>>> org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>>> WebAppClassLoader.java:363)
>>>> at
>>>> org.jclouds.cloudstack.config.****CloudStackParserModule.**
>>>> configure(****CloudStackParserModule.java:****46)
>>>> at com.google.inject.****AbstractModule.configure(**
>>>> AbstractModule.java:59)
>>>> at com.google.inject.spi.****Elements$RecordingBinder.**
>>>> install(Elements.java:223)
>>>> at
>>>> com.google.inject.spi.****Elements.getElements(Elements.****
>>>> java:101)
>>>> at
>>>> com.google.inject.internal.****InjectorShell$Builder.build(**
>>>> InjectorShell.java:133)
>>>> at
>>>> com.google.inject.internal.****InternalInjectorCreator.build(
>>>> ****
>>>> InternalInjectorCreator.java:****103)
>>>> at
>>>> com.google.inject.Guice.****createInjector(Guice.java:95)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>>> ***
>>>> java:405)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>>> ***
>>>> java:329)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>>> ****
>>>> 620)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>>> ****
>>>> 600)
>>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>>> ComputeCache.java:117)
>>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>>> ComputeCache.java:96)
>>>> at com.google.common.cache.****LocalCache$****
>>>> LoadingValueReference.**
>>>> loadFuture(LocalCache.java:****3594)
>>>> at
>>>> com.google.common.cache.****LocalCache$Segment.loadSync(**
>>>> LocalCache.java:2379)
>>>> at com.google.common.cache.****LocalCache$Segment.**
>>>> lockedGetOrLoad(LocalCache.****java:2342)
>>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>>>
>>>> LocalCache.java:2257)
>>>> ... 36 more
>>>> Caused by: java.lang.****ClassNotFoundException:
>>>> com.google.gson.TypeAdapter
>>>> at org.codehaus.plexus.****classworlds.strategy.**
>>>> SelfFirstStrategy.loadClass(****SelfFirstStrategy.java:50)
>>>> at
>>>> org.codehaus.plexus.****classworlds.realm.ClassRealm.****
>>>> loadClass(ClassRealm.java:244)
>>>> at
>>>> org.codehaus.plexus.****classworlds.realm.ClassRealm.****
>>>> loadClass(ClassRealm.java:230)
>>>> at
>>>> org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>>> WebAppClassLoader.java:401)
>>>> at
>>>> org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>>> WebAppClassLoader.java:363)
>>>> at java.lang.ClassLoader.****defineClass1(Native Method)
>>>> ... 63 more
>>>> INFO [whirr.state.****ClusterStateStore]
>>>> (1859072722@qtp-1275353837-2:)
>>>>
>>>> Unable to load cluster state, assuming it has no running nodes.
>>>> java.io.FileNotFoundException:
>>>> /home/meng/.whirr/hadoop/****instances
>>>> (No
>>>> such file or directory)
>>>> at java.io.FileInputStream.open(****Native Method)
>>>> at
>>>> java.io.FileInputStream.<init>****(FileInputStream.java:138)
>>>> at
>>>> com.google.common.io.Files$****FileByteSource.openStream(**
>>>> Files.java:124)
>>>> at
>>>> com.google.common.io.Files$****FileByteSource.openStream(**
>>>> Files.java:114)
>>>> at com.google.common.io.****ByteSource$AsCharSource.**
>>>> openStream(ByteSource.java:****287)
>>>> at com.google.common.io.****CharStreams$3.getInput(**
>>>> CharStreams.java:508)
>>>> at com.google.common.io.****CharStreams$3.getInput(**
>>>> CharStreams.java:505)
>>>> at com.google.common.io.****CharStreams.readLines(**
>>>> CharStreams.java:319)
>>>> at
>>>> com.google.common.io.Files.****readLines(Files.java:690)
>>>> at
>>>> org.apache.whirr.state.****FileClusterStateStore.load(**
>>>> FileClusterStateStore.java:55)
>>>> at org.apache.whirr.state.****ClusterStateStore.****
>>>> tryLoadOrEmpty(**
>>>> ClusterStateStore.java:59)
>>>> at
>>>> org.apache.whirr.****ClusterController.****destroyCluster(**
>>>> ClusterController.java:226)
>>>> at
>>>> org.apache.whirr.****ClusterController.****launchCluster(**
>>>> ClusterController.java:121)
>>>> 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.cloudstack.api.****command.user.emr.**
>>>> LaunchClusterCmd.execute(****LaunchClusterCmd.java:63)
>>>> at com.cloud.api.ApiDispatcher.****
>>>> dispatch(ApiDispatcher.java:**
>>>> 162)
>>>> at
>>>> com.cloud.api.ApiServer.****queueCommand(ApiServer.java:****
>>>> 505)
>>>> at
>>>> com.cloud.api.ApiServer.****handleRequest(ApiServer.java:***
>>>> *355)
>>>> at
>>>> com.cloud.api.ApiServlet.****processRequest(ApiServlet.**
>>>> java:302)
>>>> at com.cloud.api.ApiServlet.****doGet(ApiServlet.java:66)
>>>> at javax.servlet.http.****HttpServlet.service(**
>>>> HttpServlet.java:707)
>>>> at javax.servlet.http.****HttpServlet.service(**
>>>> HttpServlet.java:820)
>>>> at org.mortbay.jetty.servlet.****ServletHolder.handle(**
>>>> ServletHolder.java:511)
>>>> at org.mortbay.jetty.servlet.****ServletHandler.handle(**
>>>> ServletHandler.java:401)
>>>> at
>>>> org.mortbay.jetty.security.****SecurityHandler.handle(**
>>>> SecurityHandler.java:216)
>>>> at org.mortbay.jetty.servlet.****SessionHandler.handle(**
>>>> SessionHandler.java:182)
>>>> at org.mortbay.jetty.handler.****ContextHandler.handle(**
>>>> ContextHandler.java:766)
>>>> at org.mortbay.jetty.webapp.****WebAppContext.handle(**
>>>> WebAppContext.java:450)
>>>> at
>>>> org.mortbay.jetty.handler.****ContextHandlerCollection.****
>>>> handle(*
>>>> *ContextHandlerCollection.**java:**230)
>>>> at
>>>> org.mortbay.jetty.handler.****HandlerCollection.handle(**
>>>> HandlerCollection.java:114)
>>>> at org.mortbay.jetty.handler.****HandlerWrapper.handle(**
>>>> HandlerWrapper.java:152)
>>>> at org.mortbay.jetty.Server.****handle(Server.java:326)
>>>> at org.mortbay.jetty.****HttpConnection.handleRequest(****
>>>> HttpConnection.java:542)
>>>> at
>>>> org.mortbay.jetty.****HttpConnection$RequestHandler.****
>>>> headerComplete(HttpConnection.****java:928)
>>>> at
>>>> org.mortbay.jetty.HttpParser.****parseNext(HttpParser.java:**
>>>> 549)
>>>> at
>>>> org.mortbay.jetty.HttpParser.****parseAvailable(HttpParser.**
>>>> java:212)
>>>> at org.mortbay.jetty.****HttpConnection.handle(**
>>>> HttpConnection.java:404)
>>>> at org.mortbay.io.nio.****SelectChannelEndPoint.run(**
>>>> SelectChannelEndPoint.java:****410)
>>>> at org.mortbay.thread.****QueuedThreadPool$PoolThread.**
>>>>
>>>> run(QueuedThreadPool.java:582)
>>>> [ERROR] Error for /client/api
>>>> com.google.common.util.****concurrent.ExecutionError:
>>>> java.lang.****
>>>> NoClassDefFoundError:
>>>> org/jclouds/json/config/****GsonModule$DateAdapter
>>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>>> LocalCache.java:2261)
>>>> at
>>>> com.google.common.cache.****LocalCache.get(LocalCache.**
>>>> java:3995)
>>>> at com.google.common.cache.****LocalCache.getOrLoad(**
>>>> LocalCache.java:3999)
>>>> at
>>>> com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>>> get(LocalCache.java:4869)
>>>> at
>>>> com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>>> getUnchecked(LocalCache.java:****4875)
>>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>>> ComputeCache.java:86)
>>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>>> ComputeCache.java:78)
>>>> at
>>>> org.apache.whirr.actions.****ScriptBasedClusterAction.****
>>>> execute(*
>>>> *ScriptBasedClusterAction.**java:**110)
>>>> at
>>>> org.apache.whirr.****ClusterController.****destroyCluster(**
>>>> ClusterController.java:233)
>>>> at
>>>> org.apache.whirr.****ClusterController.****destroyCluster(**
>>>> ClusterController.java:226)
>>>> at
>>>> org.apache.whirr.****ClusterController.****launchCluster(**
>>>> ClusterController.java:121)
>>>> 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.cloudstack.api.****command.user.emr.**
>>>> LaunchClusterCmd.execute(****LaunchClusterCmd.java:63)
>>>> at com.cloud.api.ApiDispatcher.****
>>>> dispatch(ApiDispatcher.java:**
>>>> 162)
>>>> at
>>>> com.cloud.api.ApiServer.****queueCommand(ApiServer.java:****
>>>> 505)
>>>> at
>>>> com.cloud.api.ApiServer.****handleRequest(ApiServer.java:***
>>>> *355)
>>>> at
>>>> com.cloud.api.ApiServlet.****processRequest(ApiServlet.**
>>>> java:302)
>>>> at com.cloud.api.ApiServlet.****doGet(ApiServlet.java:66)
>>>> at javax.servlet.http.****HttpServlet.service(**
>>>> HttpServlet.java:707)
>>>> at javax.servlet.http.****HttpServlet.service(**
>>>> HttpServlet.java:820)
>>>> at org.mortbay.jetty.servlet.****ServletHolder.handle(**
>>>> ServletHolder.java:511)
>>>> at org.mortbay.jetty.servlet.****ServletHandler.handle(**
>>>> ServletHandler.java:401)
>>>> at
>>>> org.mortbay.jetty.security.****SecurityHandler.handle(**
>>>> SecurityHandler.java:216)
>>>> at org.mortbay.jetty.servlet.****SessionHandler.handle(**
>>>> SessionHandler.java:182)
>>>> at org.mortbay.jetty.handler.****ContextHandler.handle(**
>>>> ContextHandler.java:766)
>>>> at org.mortbay.jetty.webapp.****WebAppContext.handle(**
>>>> WebAppContext.java:450)
>>>> at
>>>> org.mortbay.jetty.handler.****ContextHandlerCollection.****
>>>> handle(*
>>>> *ContextHandlerCollection.**java:**230)
>>>> at
>>>> org.mortbay.jetty.handler.****HandlerCollection.handle(**
>>>> HandlerCollection.java:114)
>>>> at org.mortbay.jetty.handler.****HandlerWrapper.handle(**
>>>> HandlerWrapper.java:152)
>>>> at org.mortbay.jetty.Server.****handle(Server.java:326)
>>>> at org.mortbay.jetty.****HttpConnection.handleRequest(****
>>>> HttpConnection.java:542)
>>>> at
>>>> org.mortbay.jetty.****HttpConnection$RequestHandler.****
>>>> headerComplete(HttpConnection.****java:928)
>>>> at
>>>> org.mortbay.jetty.HttpParser.****parseNext(HttpParser.java:**
>>>> 549)
>>>> at
>>>> org.mortbay.jetty.HttpParser.****parseAvailable(HttpParser.**
>>>> java:212)
>>>> at org.mortbay.jetty.****HttpConnection.handle(**
>>>> HttpConnection.java:404)
>>>> at org.mortbay.io.nio.****SelectChannelEndPoint.run(**
>>>> SelectChannelEndPoint.java:****410)
>>>> at org.mortbay.thread.****QueuedThreadPool$PoolThread.**
>>>> run(QueuedThreadPool.java:582)
>>>> Caused by: java.lang.****NoClassDefFoundError:
>>>> org/jclouds/json/config/**
>>>> GsonModule$DateAdapter
>>>> at
>>>> org.jclouds.cloudstack.config.****CloudStackParserModule.**
>>>> configure(****CloudStackParserModule.java:****46)
>>>> at com.google.inject.****AbstractModule.configure(**
>>>> AbstractModule.java:59)
>>>> at com.google.inject.spi.****Elements$RecordingBinder.**
>>>> install(Elements.java:223)
>>>> at
>>>> com.google.inject.spi.****Elements.getElements(Elements.****
>>>> java:101)
>>>> at
>>>> com.google.inject.internal.****InjectorShell$Builder.build(**
>>>> InjectorShell.java:133)
>>>> at
>>>> com.google.inject.internal.****InternalInjectorCreator.build(
>>>> ****
>>>> InternalInjectorCreator.java:****103)
>>>> at
>>>> com.google.inject.Guice.****createInjector(Guice.java:95)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>>> ***
>>>> java:405)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>>> ***
>>>> java:329)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>>> ****
>>>> 620)
>>>> at
>>>> org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>>> ****
>>>> 600)
>>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>>> ComputeCache.java:117)
>>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>>> ComputeCache.java:96)
>>>> at com.google.common.cache.****LocalCache$****
>>>> LoadingValueReference.**
>>>> loadFuture(LocalCache.java:****3594)
>>>> at
>>>> com.google.common.cache.****LocalCache$Segment.loadSync(**
>>>> LocalCache.java:2379)
>>>> at com.google.common.cache.****LocalCache$Segment.**
>>>> lockedGetOrLoad(LocalCache.****java:2342)
>>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>>>
>>>> LocalCache.java:2257)
>>>> ... 37 more
>>>>
>>>>
>>>> The execute method for the lauchClusterCmd is below:
>>>>
>>>> public void execute() {
>>>>
>>>> LaunchClusterResponse response = new
>>>> LaunchClusterResponse();
>>>> response.setObjectName("****launchCluster");
>>>>
>>>> LaunchClusterCommand command = null;
>>>> try {
>>>> command = new LaunchClusterCommand(); //imported from
>>>> org.apache.whirr.cli.command.****LaunchClusterCommand;
>>>> } catch (Exception ex) {
>>>> Logger.getLogger(****LaunchClusterCmd.class.****
>>>> getName()).log(Level.SEVERE,
>>>>
>>>> null, ex);
>>>> }
>>>> String[] args = new String[2];
>>>> args[0] = "--config";
>>>> args[1] = config;
>>>>
>>>> try {
>>>> command.run(System.in, System.out, System.err,
>>>> Arrays.asList(args));
>>>> } catch (Exception ex) {
>>>> Logger.getLogger(****LaunchClusterCmd.class.****
>>>> getName()).log(Level.SEVERE,
>>>> null, ex);
>>>> }
>>>> response.setResponseName(****getCommandName());
>>>>
>>>> output = "successfully launched the cluster.";
>>>> response.setOutPut(output);
>>>> this.setResponseObject(****response);
>>>>
>>>> }
>>>> Does the above error indicate that I am missing a couple of class
>>>> files
>>>> or am I not configuring the JAVA classpath correctly?
>>>>
>>>> Also could someone explain what does this file
>>>> client/target/conf/classpath.****conf do ?
>>>>
>>>>
>>>> Thanks.
>>>>
>>>> Cheers,
>>>> Meng
>>>>
>>>>
>>
Re: java.lang.NoClassDefFoundError
Posted by Andrei Savu <sa...@gmail.com>.
Do not add jclouds as an explicit dependency - maven will find the right
one as a transitive dependency of Whirr. That will solve your problem
unless cloud-api requires a specific (older) version of Guava.
-- Andrei Savu / axemblr.com
On Wed, Sep 11, 2013 at 6:31 PM, Han,Meng <me...@ufl.edu> wrote:
> Hi Andrei,
>
> Thanks for your reply. The complete pom file for this plugin is below.
>
> <project xmlns="http://maven.apache.**org/POM/4.0.0<http://maven.apache.org/POM/4.0.0>
> "
> xmlns:xsi="http://www.w3.org/**2001/XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>
> "
> xsi:schemaLocation="http://**maven.apache.org/POM/4.0.0<http://maven.apache.org/POM/4.0.0>
> http://maven.apache.org/xsd/**maven-4.0.0.xsd<http://maven.apache.org/xsd/maven-4.0.0.xsd>
> ">
> <modelVersion>4.0.0</**modelVersion>
> <artifactId>cloud-plugin-api-**emr</artifactId>
> <name>Apache CloudStack Plugin - API Elastic Map Reduce</name>
> <parent>
> <groupId>org.apache.**cloudstack</groupId>
> <artifactId>cloudstack-**plugins</artifactId>
> <version>4.1.1</version>
> <relativePath>../../pom.xml</**relativePath>
> </parent>
> <dependencies>
> <dependency>
> <groupId>org.apache.**cloudstack</groupId>
> <artifactId>cloud-api</**artifactId>
> <version>${project.version}</**version>
> </dependency>
> <dependency>
> <groupId>org.apache.**cloudstack</groupId>
> <artifactId>cloud-utils</**artifactId>
> <version>${project.version}</**version>
> </dependency>
>
> <dependency>
> <groupId>org.apache.whirr</**groupId>
> <artifactId>whirr</artifactId>
> <version>0.8.2</version>
> <type>pom</type>
> </dependency>
> <dependency>
> <groupId>org.apache.jclouds</**groupId>
> <artifactId>jclouds-all</**artifactId>
> <version>1.6.1-incubating</**version>
> </dependency>
> </dependencies>
> <build>
> <defaultGoal>install</**defaultGoal>
> <sourceDirectory>src</**sourceDirectory>
> <testSourceDirectory>test</**testSourceDirectory>
> <testResources>
> <testResource>
> <directory>test/resources</**directory>
> </testResource>
> </testResources>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.**plugins</groupId>
> <artifactId>maven-surefire-**plugin</artifactId>
> <configuration>
> <argLine>-Xmx1024m</argLine>
> <excludes>
> <exclude>org/apache/**cloudstack/discovery/**
> integration/*</exclude>
> </excludes>
> </configuration>
> </plugin>
> </plugins>
> </build>
> </project>
>
>
>
> On Wed, 11 Sep 2013 07:52:27 +0300, Andrei Savu wrote:
>
>> Most likely you have another version of Guava on your classpath. Please
>> share the complete pom.xml file.
>>
>> -- Andrei Savu / axemblr.com
>>
>>
>> On Wed, Sep 11, 2013 at 5:46 AM, Han,Meng <me...@ufl.edu> wrote:
>>
>> Hi all,
>>>
>>> I am adding a plugin to CloudStack. One of the APIs of this plugin
>>> (launchCluster) is to start a haoop cluster on Cloudstack using Whirr. I
>>> included whirr as a dependency to my plugin.
>>>
>>> <dependency>
>>> <groupId>org.apache.whirr</****groupId>
>>>
>>> <artifactId>whirr</artifactId>
>>> <version>0.8.2</version>
>>> <type>pom</type>
>>> </dependency>
>>>
>>>
>>> When I test this api in CloudMonkey I am getting the following error:
>>>
>>> launchCluster config=/home/meng/whirr/dream
>>>
>>>>
>>>> HTTP Error 500: java.lang.****NoClassDefFoundError:
>>> org/jclouds/json/config/
>>> **GsonModule$DateAdapter
>>>
>>>
>>> Below is the management server log :
>>>
>>> Running on provider cloudstack using identity
>>>
>>> h3DKHC9AVlhKnUhpyThMuLhC119QfN****QQ8xhyjbf_****
>>> rnu5ZL1QeOWdw7aZRGXVO1VApG6q0a
>>> **K-A-tQRQsZFwnOXQ
>>> ERROR [apache.whirr.****ClusterController] (1859072722@qtp-1275353837-2
>>> :)
>>>
>>> Unable to start the cluster. Terminating all nodes.
>>> com.google.common.util.****concurrent.ExecutionError: java.lang.****
>>> NoClassDefFoundError:
>>> com/google/gson/TypeAdapter
>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>> LocalCache.java:2261)
>>> at com.google.common.cache.****LocalCache.get(LocalCache.**
>>> java:3995)
>>> at com.google.common.cache.****LocalCache.getOrLoad(**
>>> LocalCache.java:3999)
>>> at com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>> get(LocalCache.java:4869)
>>> at com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>> getUnchecked(LocalCache.java:****4875)
>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>> ComputeCache.java:86)
>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>> ComputeCache.java:78)
>>> at org.apache.whirr.actions.****ScriptBasedClusterAction.****
>>> execute(*
>>> *ScriptBasedClusterAction.**java:**110)
>>> at org.apache.whirr.****ClusterController.****
>>> bootstrapCluster(**
>>> ClusterController.java:137)
>>> at org.apache.whirr.****ClusterController.****launchCluster(**
>>> ClusterController.java:113)
>>> 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.cloudstack.api.****command.user.emr.**
>>> LaunchClusterCmd.execute(****LaunchClusterCmd.java:63)
>>> at com.cloud.api.ApiDispatcher.****
>>> dispatch(ApiDispatcher.java:**
>>> 162)
>>> at com.cloud.api.ApiServer.****queueCommand(ApiServer.java:****
>>> 505)
>>> at com.cloud.api.ApiServer.****handleRequest(ApiServer.java:***
>>> *355)
>>> at com.cloud.api.ApiServlet.****processRequest(ApiServlet.**
>>> java:302)
>>> at com.cloud.api.ApiServlet.****doGet(ApiServlet.java:66)
>>> at javax.servlet.http.****HttpServlet.service(**
>>> HttpServlet.java:707)
>>> at javax.servlet.http.****HttpServlet.service(**
>>> HttpServlet.java:820)
>>> at org.mortbay.jetty.servlet.****ServletHolder.handle(**
>>> ServletHolder.java:511)
>>> at org.mortbay.jetty.servlet.****ServletHandler.handle(**
>>> ServletHandler.java:401)
>>> at org.mortbay.jetty.security.****SecurityHandler.handle(**
>>> SecurityHandler.java:216)
>>> at org.mortbay.jetty.servlet.****SessionHandler.handle(**
>>> SessionHandler.java:182)
>>> at org.mortbay.jetty.handler.****ContextHandler.handle(**
>>> ContextHandler.java:766)
>>> at org.mortbay.jetty.webapp.****WebAppContext.handle(**
>>> WebAppContext.java:450)
>>> at org.mortbay.jetty.handler.****ContextHandlerCollection.****
>>> handle(*
>>> *ContextHandlerCollection.**java:**230)
>>> at org.mortbay.jetty.handler.****HandlerCollection.handle(**
>>> HandlerCollection.java:114)
>>> at org.mortbay.jetty.handler.****HandlerWrapper.handle(**
>>> HandlerWrapper.java:152)
>>> at org.mortbay.jetty.Server.****handle(Server.java:326)
>>> at org.mortbay.jetty.****HttpConnection.handleRequest(****
>>> HttpConnection.java:542)
>>> at org.mortbay.jetty.****HttpConnection$RequestHandler.****
>>> headerComplete(HttpConnection.****java:928)
>>> at org.mortbay.jetty.HttpParser.****parseNext(HttpParser.java:**
>>> 549)
>>> at org.mortbay.jetty.HttpParser.****parseAvailable(HttpParser.**
>>> java:212)
>>> at org.mortbay.jetty.****HttpConnection.handle(**
>>> HttpConnection.java:404)
>>> at org.mortbay.io.nio.****SelectChannelEndPoint.run(**
>>> SelectChannelEndPoint.java:****410)
>>> at org.mortbay.thread.****QueuedThreadPool$PoolThread.**
>>> run(QueuedThreadPool.java:582)
>>> Caused by: java.lang.****NoClassDefFoundError:
>>> com/google/gson/TypeAdapter
>>> at java.lang.ClassLoader.****defineClass1(Native Method)
>>> at java.lang.ClassLoader.****defineClass(ClassLoader.java:***
>>> *791)
>>> at java.security.****SecureClassLoader.defineClass(****
>>> SecureClassLoader.java:142)
>>> at java.net.URLClassLoader.****defineClass(URLClassLoader.**
>>> java:449)
>>> at java.net.URLClassLoader.****access$100(URLClassLoader.****
>>> java:71)
>>> at java.net.URLClassLoader$1.run(****URLClassLoader.java:361)
>>> at java.net.URLClassLoader$1.run(****URLClassLoader.java:355)
>>> at java.security.****AccessController.doPrivileged(****Native
>>> Method)
>>> at java.net.URLClassLoader.****findClass(URLClassLoader.java:**
>>> **354)
>>> at org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>> WebAppClassLoader.java:392)
>>> at org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>> WebAppClassLoader.java:363)
>>> at org.jclouds.cloudstack.config.****CloudStackParserModule.**
>>> configure(****CloudStackParserModule.java:****46)
>>> at com.google.inject.****AbstractModule.configure(**
>>> AbstractModule.java:59)
>>> at com.google.inject.spi.****Elements$RecordingBinder.**
>>> install(Elements.java:223)
>>> at com.google.inject.spi.****Elements.getElements(Elements.****
>>> java:101)
>>> at com.google.inject.internal.****InjectorShell$Builder.build(**
>>> InjectorShell.java:133)
>>> at com.google.inject.internal.****InternalInjectorCreator.build(
>>> ****
>>> InternalInjectorCreator.java:****103)
>>> at com.google.inject.Guice.****createInjector(Guice.java:95)
>>> at org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>> ***
>>> java:405)
>>> at org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>> ***
>>> java:329)
>>> at org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>> ****
>>> 620)
>>> at org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>> ****
>>> 600)
>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>> ComputeCache.java:117)
>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>> ComputeCache.java:96)
>>> at com.google.common.cache.****LocalCache$****
>>> LoadingValueReference.**
>>> loadFuture(LocalCache.java:****3594)
>>> at com.google.common.cache.****LocalCache$Segment.loadSync(**
>>> LocalCache.java:2379)
>>> at com.google.common.cache.****LocalCache$Segment.**
>>> lockedGetOrLoad(LocalCache.****java:2342)
>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>>
>>> LocalCache.java:2257)
>>> ... 36 more
>>> Caused by: java.lang.****ClassNotFoundException:
>>> com.google.gson.TypeAdapter
>>> at org.codehaus.plexus.****classworlds.strategy.**
>>> SelfFirstStrategy.loadClass(****SelfFirstStrategy.java:50)
>>> at org.codehaus.plexus.****classworlds.realm.ClassRealm.****
>>> loadClass(ClassRealm.java:244)
>>> at org.codehaus.plexus.****classworlds.realm.ClassRealm.****
>>> loadClass(ClassRealm.java:230)
>>> at org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>> WebAppClassLoader.java:401)
>>> at org.mortbay.jetty.webapp.****WebAppClassLoader.loadClass(**
>>> WebAppClassLoader.java:363)
>>> at java.lang.ClassLoader.****defineClass1(Native Method)
>>> ... 63 more
>>> INFO [whirr.state.****ClusterStateStore] (1859072722@qtp-1275353837-2:)
>>>
>>> Unable to load cluster state, assuming it has no running nodes.
>>> java.io.FileNotFoundException: /home/meng/.whirr/hadoop/****instances
>>> (No
>>> such file or directory)
>>> at java.io.FileInputStream.open(****Native Method)
>>> at java.io.FileInputStream.<init>****(FileInputStream.java:138)
>>> at com.google.common.io.Files$****FileByteSource.openStream(**
>>> Files.java:124)
>>> at com.google.common.io.Files$****FileByteSource.openStream(**
>>> Files.java:114)
>>> at com.google.common.io.****ByteSource$AsCharSource.**
>>> openStream(ByteSource.java:****287)
>>> at com.google.common.io.****CharStreams$3.getInput(**
>>> CharStreams.java:508)
>>> at com.google.common.io.****CharStreams$3.getInput(**
>>> CharStreams.java:505)
>>> at com.google.common.io.****CharStreams.readLines(**
>>> CharStreams.java:319)
>>> at com.google.common.io.Files.****readLines(Files.java:690)
>>> at org.apache.whirr.state.****FileClusterStateStore.load(**
>>> FileClusterStateStore.java:55)
>>> at org.apache.whirr.state.****ClusterStateStore.****
>>> tryLoadOrEmpty(**
>>> ClusterStateStore.java:59)
>>> at org.apache.whirr.****ClusterController.****destroyCluster(**
>>> ClusterController.java:226)
>>> at org.apache.whirr.****ClusterController.****launchCluster(**
>>> ClusterController.java:121)
>>> 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.cloudstack.api.****command.user.emr.**
>>> LaunchClusterCmd.execute(****LaunchClusterCmd.java:63)
>>> at com.cloud.api.ApiDispatcher.****
>>> dispatch(ApiDispatcher.java:**
>>> 162)
>>> at com.cloud.api.ApiServer.****queueCommand(ApiServer.java:****
>>> 505)
>>> at com.cloud.api.ApiServer.****handleRequest(ApiServer.java:***
>>> *355)
>>> at com.cloud.api.ApiServlet.****processRequest(ApiServlet.**
>>> java:302)
>>> at com.cloud.api.ApiServlet.****doGet(ApiServlet.java:66)
>>> at javax.servlet.http.****HttpServlet.service(**
>>> HttpServlet.java:707)
>>> at javax.servlet.http.****HttpServlet.service(**
>>> HttpServlet.java:820)
>>> at org.mortbay.jetty.servlet.****ServletHolder.handle(**
>>> ServletHolder.java:511)
>>> at org.mortbay.jetty.servlet.****ServletHandler.handle(**
>>> ServletHandler.java:401)
>>> at org.mortbay.jetty.security.****SecurityHandler.handle(**
>>> SecurityHandler.java:216)
>>> at org.mortbay.jetty.servlet.****SessionHandler.handle(**
>>> SessionHandler.java:182)
>>> at org.mortbay.jetty.handler.****ContextHandler.handle(**
>>> ContextHandler.java:766)
>>> at org.mortbay.jetty.webapp.****WebAppContext.handle(**
>>> WebAppContext.java:450)
>>> at org.mortbay.jetty.handler.****ContextHandlerCollection.****
>>> handle(*
>>> *ContextHandlerCollection.**java:**230)
>>> at org.mortbay.jetty.handler.****HandlerCollection.handle(**
>>> HandlerCollection.java:114)
>>> at org.mortbay.jetty.handler.****HandlerWrapper.handle(**
>>> HandlerWrapper.java:152)
>>> at org.mortbay.jetty.Server.****handle(Server.java:326)
>>> at org.mortbay.jetty.****HttpConnection.handleRequest(****
>>> HttpConnection.java:542)
>>> at org.mortbay.jetty.****HttpConnection$RequestHandler.****
>>> headerComplete(HttpConnection.****java:928)
>>> at org.mortbay.jetty.HttpParser.****parseNext(HttpParser.java:**
>>> 549)
>>> at org.mortbay.jetty.HttpParser.****parseAvailable(HttpParser.**
>>> java:212)
>>> at org.mortbay.jetty.****HttpConnection.handle(**
>>> HttpConnection.java:404)
>>> at org.mortbay.io.nio.****SelectChannelEndPoint.run(**
>>> SelectChannelEndPoint.java:****410)
>>> at org.mortbay.thread.****QueuedThreadPool$PoolThread.**
>>>
>>> run(QueuedThreadPool.java:582)
>>> [ERROR] Error for /client/api
>>> com.google.common.util.****concurrent.ExecutionError: java.lang.****
>>> NoClassDefFoundError:
>>> org/jclouds/json/config/****GsonModule$DateAdapter
>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>> LocalCache.java:2261)
>>> at com.google.common.cache.****LocalCache.get(LocalCache.**
>>> java:3995)
>>> at com.google.common.cache.****LocalCache.getOrLoad(**
>>> LocalCache.java:3999)
>>> at com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>> get(LocalCache.java:4869)
>>> at com.google.common.cache.****LocalCache$LocalLoadingCache.****
>>> getUnchecked(LocalCache.java:****4875)
>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>> ComputeCache.java:86)
>>> at org.apache.whirr.service.****ComputeCache.apply(**
>>> ComputeCache.java:78)
>>> at org.apache.whirr.actions.****ScriptBasedClusterAction.****
>>> execute(*
>>> *ScriptBasedClusterAction.**java:**110)
>>> at org.apache.whirr.****ClusterController.****destroyCluster(**
>>> ClusterController.java:233)
>>> at org.apache.whirr.****ClusterController.****destroyCluster(**
>>> ClusterController.java:226)
>>> at org.apache.whirr.****ClusterController.****launchCluster(**
>>> ClusterController.java:121)
>>> 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.cloudstack.api.****command.user.emr.**
>>> LaunchClusterCmd.execute(****LaunchClusterCmd.java:63)
>>> at com.cloud.api.ApiDispatcher.****
>>> dispatch(ApiDispatcher.java:**
>>> 162)
>>> at com.cloud.api.ApiServer.****queueCommand(ApiServer.java:****
>>> 505)
>>> at com.cloud.api.ApiServer.****handleRequest(ApiServer.java:***
>>> *355)
>>> at com.cloud.api.ApiServlet.****processRequest(ApiServlet.**
>>> java:302)
>>> at com.cloud.api.ApiServlet.****doGet(ApiServlet.java:66)
>>> at javax.servlet.http.****HttpServlet.service(**
>>> HttpServlet.java:707)
>>> at javax.servlet.http.****HttpServlet.service(**
>>> HttpServlet.java:820)
>>> at org.mortbay.jetty.servlet.****ServletHolder.handle(**
>>> ServletHolder.java:511)
>>> at org.mortbay.jetty.servlet.****ServletHandler.handle(**
>>> ServletHandler.java:401)
>>> at org.mortbay.jetty.security.****SecurityHandler.handle(**
>>> SecurityHandler.java:216)
>>> at org.mortbay.jetty.servlet.****SessionHandler.handle(**
>>> SessionHandler.java:182)
>>> at org.mortbay.jetty.handler.****ContextHandler.handle(**
>>> ContextHandler.java:766)
>>> at org.mortbay.jetty.webapp.****WebAppContext.handle(**
>>> WebAppContext.java:450)
>>> at org.mortbay.jetty.handler.****ContextHandlerCollection.****
>>> handle(*
>>> *ContextHandlerCollection.**java:**230)
>>> at org.mortbay.jetty.handler.****HandlerCollection.handle(**
>>> HandlerCollection.java:114)
>>> at org.mortbay.jetty.handler.****HandlerWrapper.handle(**
>>> HandlerWrapper.java:152)
>>> at org.mortbay.jetty.Server.****handle(Server.java:326)
>>> at org.mortbay.jetty.****HttpConnection.handleRequest(****
>>> HttpConnection.java:542)
>>> at org.mortbay.jetty.****HttpConnection$RequestHandler.****
>>> headerComplete(HttpConnection.****java:928)
>>> at org.mortbay.jetty.HttpParser.****parseNext(HttpParser.java:**
>>> 549)
>>> at org.mortbay.jetty.HttpParser.****parseAvailable(HttpParser.**
>>> java:212)
>>> at org.mortbay.jetty.****HttpConnection.handle(**
>>> HttpConnection.java:404)
>>> at org.mortbay.io.nio.****SelectChannelEndPoint.run(**
>>> SelectChannelEndPoint.java:****410)
>>> at org.mortbay.thread.****QueuedThreadPool$PoolThread.**
>>> run(QueuedThreadPool.java:582)
>>> Caused by: java.lang.****NoClassDefFoundError:
>>> org/jclouds/json/config/**
>>> GsonModule$DateAdapter
>>> at org.jclouds.cloudstack.config.****CloudStackParserModule.**
>>> configure(****CloudStackParserModule.java:****46)
>>> at com.google.inject.****AbstractModule.configure(**
>>> AbstractModule.java:59)
>>> at com.google.inject.spi.****Elements$RecordingBinder.**
>>> install(Elements.java:223)
>>> at com.google.inject.spi.****Elements.getElements(Elements.****
>>> java:101)
>>> at com.google.inject.internal.****InjectorShell$Builder.build(**
>>> InjectorShell.java:133)
>>> at com.google.inject.internal.****InternalInjectorCreator.build(
>>> ****
>>> InternalInjectorCreator.java:****103)
>>> at com.google.inject.Guice.****createInjector(Guice.java:95)
>>> at org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>> ***
>>> java:405)
>>> at org.jclouds.ContextBuilder.****buildInjector(ContextBuilder.*
>>> ***
>>> java:329)
>>> at org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>> ****
>>> 620)
>>> at org.jclouds.ContextBuilder.****buildView(ContextBuilder.java:
>>> ****
>>> 600)
>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>> ComputeCache.java:117)
>>> at org.apache.whirr.service.****ComputeCache$1.load(**
>>> ComputeCache.java:96)
>>> at com.google.common.cache.****LocalCache$****
>>> LoadingValueReference.**
>>> loadFuture(LocalCache.java:****3594)
>>> at com.google.common.cache.****LocalCache$Segment.loadSync(**
>>> LocalCache.java:2379)
>>> at com.google.common.cache.****LocalCache$Segment.**
>>> lockedGetOrLoad(LocalCache.****java:2342)
>>> at com.google.common.cache.****LocalCache$Segment.get(**
>>>
>>> LocalCache.java:2257)
>>> ... 37 more
>>>
>>>
>>> The execute method for the lauchClusterCmd is below:
>>>
>>> public void execute() {
>>>
>>> LaunchClusterResponse response = new LaunchClusterResponse();
>>> response.setObjectName("****launchCluster");
>>>
>>> LaunchClusterCommand command = null;
>>> try {
>>> command = new LaunchClusterCommand(); //imported from
>>> org.apache.whirr.cli.command.****LaunchClusterCommand;
>>> } catch (Exception ex) {
>>> Logger.getLogger(****LaunchClusterCmd.class.****
>>> getName()).log(Level.SEVERE,
>>>
>>> null, ex);
>>> }
>>> String[] args = new String[2];
>>> args[0] = "--config";
>>> args[1] = config;
>>>
>>> try {
>>> command.run(System.in, System.out, System.err,
>>> Arrays.asList(args));
>>> } catch (Exception ex) {
>>> Logger.getLogger(****LaunchClusterCmd.class.****
>>> getName()).log(Level.SEVERE,
>>> null, ex);
>>> }
>>> response.setResponseName(****getCommandName());
>>>
>>> output = "successfully launched the cluster.";
>>> response.setOutPut(output);
>>> this.setResponseObject(****response);
>>>
>>> }
>>> Does the above error indicate that I am missing a couple of class files
>>> or am I not configuring the JAVA classpath correctly?
>>>
>>> Also could someone explain what does this file
>>> client/target/conf/classpath.****conf do ?
>>>
>>>
>>> Thanks.
>>>
>>> Cheers,
>>> Meng
>>>
>>>
>
Re: java.lang.NoClassDefFoundError
Posted by "Han,Meng" <me...@ufl.edu>.
Hi Andrei,
Thanks for your reply. The complete pom file for this plugin is below.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-plugin-api-emr</artifactId>
<name>Apache CloudStack Plugin - API Elastic Map Reduce</name>
<parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack-plugins</artifactId>
<version>4.1.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-utils</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.whirr</groupId>
<artifactId>whirr</artifactId>
<version>0.8.2</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-all</artifactId>
<version>1.6.1-incubating</version>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<testResources>
<testResource>
<directory>test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Xmx1024m</argLine>
<excludes>
<exclude>org/apache/cloudstack/discovery/integration/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
On Wed, 11 Sep 2013 07:52:27 +0300, Andrei Savu wrote:
> Most likely you have another version of Guava on your classpath.
> Please
> share the complete pom.xml file.
>
> -- Andrei Savu / axemblr.com
>
>
> On Wed, Sep 11, 2013 at 5:46 AM, Han,Meng <me...@ufl.edu> wrote:
>
>> Hi all,
>>
>> I am adding a plugin to CloudStack. One of the APIs of this plugin
>> (launchCluster) is to start a haoop cluster on Cloudstack using
>> Whirr. I
>> included whirr as a dependency to my plugin.
>>
>> <dependency>
>> <groupId>org.apache.whirr</**groupId>
>> <artifactId>whirr</artifactId>
>> <version>0.8.2</version>
>> <type>pom</type>
>> </dependency>
>>
>>
>> When I test this api in CloudMonkey I am getting the following
>> error:
>>
>> launchCluster config=/home/meng/whirr/dream
>>>
>> HTTP Error 500: java.lang.**NoClassDefFoundError:
>> org/jclouds/json/config/
>> **GsonModule$DateAdapter
>>
>> Below is the management server log :
>>
>> Running on provider cloudstack using identity
>>
>> h3DKHC9AVlhKnUhpyThMuLhC119QfN**QQ8xhyjbf_**rnu5ZL1QeOWdw7aZRGXVO1VApG6q0a
>> **K-A-tQRQsZFwnOXQ
>> ERROR [apache.whirr.**ClusterController]
>> (1859072722@qtp-1275353837-2:)
>> Unable to start the cluster. Terminating all nodes.
>> com.google.common.util.**concurrent.ExecutionError:
>> java.lang.**NoClassDefFoundError:
>> com/google/gson/TypeAdapter
>> at com.google.common.cache.**LocalCache$Segment.get(**
>> LocalCache.java:2261)
>> at com.google.common.cache.**LocalCache.get(LocalCache.**
>> java:3995)
>> at com.google.common.cache.**LocalCache.getOrLoad(**
>> LocalCache.java:3999)
>> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
>> get(LocalCache.java:4869)
>> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
>> getUnchecked(LocalCache.java:**4875)
>> at org.apache.whirr.service.**ComputeCache.apply(**
>> ComputeCache.java:86)
>> at org.apache.whirr.service.**ComputeCache.apply(**
>> ComputeCache.java:78)
>> at
>> org.apache.whirr.actions.**ScriptBasedClusterAction.**execute(*
>> *ScriptBasedClusterAction.java:**110)
>> at
>> org.apache.whirr.**ClusterController.**bootstrapCluster(**
>> ClusterController.java:137)
>> at org.apache.whirr.**ClusterController.**launchCluster(**
>> ClusterController.java:113)
>> 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.cloudstack.api.**command.user.emr.**
>> LaunchClusterCmd.execute(**LaunchClusterCmd.java:63)
>> at
>> com.cloud.api.ApiDispatcher.**dispatch(ApiDispatcher.java:**
>> 162)
>> at
>> com.cloud.api.ApiServer.**queueCommand(ApiServer.java:**505)
>> at
>> com.cloud.api.ApiServer.**handleRequest(ApiServer.java:**355)
>> at com.cloud.api.ApiServlet.**processRequest(ApiServlet.**
>> java:302)
>> at com.cloud.api.ApiServlet.**doGet(ApiServlet.java:66)
>> at javax.servlet.http.**HttpServlet.service(**
>> HttpServlet.java:707)
>> at javax.servlet.http.**HttpServlet.service(**
>> HttpServlet.java:820)
>> at org.mortbay.jetty.servlet.**ServletHolder.handle(**
>> ServletHolder.java:511)
>> at org.mortbay.jetty.servlet.**ServletHandler.handle(**
>> ServletHandler.java:401)
>> at org.mortbay.jetty.security.**SecurityHandler.handle(**
>> SecurityHandler.java:216)
>> at org.mortbay.jetty.servlet.**SessionHandler.handle(**
>> SessionHandler.java:182)
>> at org.mortbay.jetty.handler.**ContextHandler.handle(**
>> ContextHandler.java:766)
>> at org.mortbay.jetty.webapp.**WebAppContext.handle(**
>> WebAppContext.java:450)
>> at
>> org.mortbay.jetty.handler.**ContextHandlerCollection.**handle(*
>> *ContextHandlerCollection.java:**230)
>> at org.mortbay.jetty.handler.**HandlerCollection.handle(**
>> HandlerCollection.java:114)
>> at org.mortbay.jetty.handler.**HandlerWrapper.handle(**
>> HandlerWrapper.java:152)
>> at org.mortbay.jetty.Server.**handle(Server.java:326)
>> at org.mortbay.jetty.**HttpConnection.handleRequest(**
>> HttpConnection.java:542)
>> at org.mortbay.jetty.**HttpConnection$RequestHandler.**
>> headerComplete(HttpConnection.**java:928)
>> at
>> org.mortbay.jetty.HttpParser.**parseNext(HttpParser.java:549)
>> at
>> org.mortbay.jetty.HttpParser.**parseAvailable(HttpParser.**
>> java:212)
>> at org.mortbay.jetty.**HttpConnection.handle(**
>> HttpConnection.java:404)
>> at org.mortbay.io.nio.**SelectChannelEndPoint.run(**
>> SelectChannelEndPoint.java:**410)
>> at org.mortbay.thread.**QueuedThreadPool$PoolThread.**
>> run(QueuedThreadPool.java:582)
>> Caused by: java.lang.**NoClassDefFoundError:
>> com/google/gson/TypeAdapter
>> at java.lang.ClassLoader.**defineClass1(Native Method)
>> at
>> java.lang.ClassLoader.**defineClass(ClassLoader.java:**791)
>> at java.security.**SecureClassLoader.defineClass(**
>> SecureClassLoader.java:142)
>> at java.net.URLClassLoader.**defineClass(URLClassLoader.**
>> java:449)
>> at
>> java.net.URLClassLoader.**access$100(URLClassLoader.**java:71)
>> at java.net.URLClassLoader$1.run(**URLClassLoader.java:361)
>> at java.net.URLClassLoader$1.run(**URLClassLoader.java:355)
>> at java.security.**AccessController.doPrivileged(**Native
>> Method)
>> at
>> java.net.URLClassLoader.**findClass(URLClassLoader.java:**354)
>> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
>> WebAppClassLoader.java:392)
>> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
>> WebAppClassLoader.java:363)
>> at org.jclouds.cloudstack.config.**CloudStackParserModule.**
>> configure(**CloudStackParserModule.java:**46)
>> at com.google.inject.**AbstractModule.configure(**
>> AbstractModule.java:59)
>> at com.google.inject.spi.**Elements$RecordingBinder.**
>> install(Elements.java:223)
>> at com.google.inject.spi.**Elements.getElements(Elements.**
>> java:101)
>> at
>> com.google.inject.internal.**InjectorShell$Builder.build(**
>> InjectorShell.java:133)
>> at
>> com.google.inject.internal.**InternalInjectorCreator.build(**
>> InternalInjectorCreator.java:**103)
>> at com.google.inject.Guice.**createInjector(Guice.java:95)
>> at
>> org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
>> java:405)
>> at
>> org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
>> java:329)
>> at
>> org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
>> 620)
>> at
>> org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
>> 600)
>> at org.apache.whirr.service.**ComputeCache$1.load(**
>> ComputeCache.java:117)
>> at org.apache.whirr.service.**ComputeCache$1.load(**
>> ComputeCache.java:96)
>> at
>> com.google.common.cache.**LocalCache$**LoadingValueReference.**
>> loadFuture(LocalCache.java:**3594)
>> at com.google.common.cache.**LocalCache$Segment.loadSync(**
>> LocalCache.java:2379)
>> at com.google.common.cache.**LocalCache$Segment.**
>> lockedGetOrLoad(LocalCache.**java:2342)
>> at com.google.common.cache.**LocalCache$Segment.get(**
>> LocalCache.java:2257)
>> ... 36 more
>> Caused by: java.lang.**ClassNotFoundException:
>> com.google.gson.TypeAdapter
>> at org.codehaus.plexus.**classworlds.strategy.**
>> SelfFirstStrategy.loadClass(**SelfFirstStrategy.java:50)
>> at org.codehaus.plexus.**classworlds.realm.ClassRealm.**
>> loadClass(ClassRealm.java:244)
>> at org.codehaus.plexus.**classworlds.realm.ClassRealm.**
>> loadClass(ClassRealm.java:230)
>> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
>> WebAppClassLoader.java:401)
>> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
>> WebAppClassLoader.java:363)
>> at java.lang.ClassLoader.**defineClass1(Native Method)
>> ... 63 more
>> INFO [whirr.state.**ClusterStateStore]
>> (1859072722@qtp-1275353837-2:)
>> Unable to load cluster state, assuming it has no running nodes.
>> java.io.FileNotFoundException: /home/meng/.whirr/hadoop/**instances
>> (No
>> such file or directory)
>> at java.io.FileInputStream.open(**Native Method)
>> at
>> java.io.FileInputStream.<init>**(FileInputStream.java:138)
>> at com.google.common.io.Files$**FileByteSource.openStream(**
>> Files.java:124)
>> at com.google.common.io.Files$**FileByteSource.openStream(**
>> Files.java:114)
>> at com.google.common.io.**ByteSource$AsCharSource.**
>> openStream(ByteSource.java:**287)
>> at com.google.common.io.**CharStreams$3.getInput(**
>> CharStreams.java:508)
>> at com.google.common.io.**CharStreams$3.getInput(**
>> CharStreams.java:505)
>> at com.google.common.io.**CharStreams.readLines(**
>> CharStreams.java:319)
>> at com.google.common.io.Files.**readLines(Files.java:690)
>> at org.apache.whirr.state.**FileClusterStateStore.load(**
>> FileClusterStateStore.java:55)
>> at
>> org.apache.whirr.state.**ClusterStateStore.**tryLoadOrEmpty(**
>> ClusterStateStore.java:59)
>> at org.apache.whirr.**ClusterController.**destroyCluster(**
>> ClusterController.java:226)
>> at org.apache.whirr.**ClusterController.**launchCluster(**
>> ClusterController.java:121)
>> 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.cloudstack.api.**command.user.emr.**
>> LaunchClusterCmd.execute(**LaunchClusterCmd.java:63)
>> at
>> com.cloud.api.ApiDispatcher.**dispatch(ApiDispatcher.java:**
>> 162)
>> at
>> com.cloud.api.ApiServer.**queueCommand(ApiServer.java:**505)
>> at
>> com.cloud.api.ApiServer.**handleRequest(ApiServer.java:**355)
>> at com.cloud.api.ApiServlet.**processRequest(ApiServlet.**
>> java:302)
>> at com.cloud.api.ApiServlet.**doGet(ApiServlet.java:66)
>> at javax.servlet.http.**HttpServlet.service(**
>> HttpServlet.java:707)
>> at javax.servlet.http.**HttpServlet.service(**
>> HttpServlet.java:820)
>> at org.mortbay.jetty.servlet.**ServletHolder.handle(**
>> ServletHolder.java:511)
>> at org.mortbay.jetty.servlet.**ServletHandler.handle(**
>> ServletHandler.java:401)
>> at org.mortbay.jetty.security.**SecurityHandler.handle(**
>> SecurityHandler.java:216)
>> at org.mortbay.jetty.servlet.**SessionHandler.handle(**
>> SessionHandler.java:182)
>> at org.mortbay.jetty.handler.**ContextHandler.handle(**
>> ContextHandler.java:766)
>> at org.mortbay.jetty.webapp.**WebAppContext.handle(**
>> WebAppContext.java:450)
>> at
>> org.mortbay.jetty.handler.**ContextHandlerCollection.**handle(*
>> *ContextHandlerCollection.java:**230)
>> at org.mortbay.jetty.handler.**HandlerCollection.handle(**
>> HandlerCollection.java:114)
>> at org.mortbay.jetty.handler.**HandlerWrapper.handle(**
>> HandlerWrapper.java:152)
>> at org.mortbay.jetty.Server.**handle(Server.java:326)
>> at org.mortbay.jetty.**HttpConnection.handleRequest(**
>> HttpConnection.java:542)
>> at org.mortbay.jetty.**HttpConnection$RequestHandler.**
>> headerComplete(HttpConnection.**java:928)
>> at
>> org.mortbay.jetty.HttpParser.**parseNext(HttpParser.java:549)
>> at
>> org.mortbay.jetty.HttpParser.**parseAvailable(HttpParser.**
>> java:212)
>> at org.mortbay.jetty.**HttpConnection.handle(**
>> HttpConnection.java:404)
>> at org.mortbay.io.nio.**SelectChannelEndPoint.run(**
>> SelectChannelEndPoint.java:**410)
>> at org.mortbay.thread.**QueuedThreadPool$PoolThread.**
>> run(QueuedThreadPool.java:582)
>> [ERROR] Error for /client/api
>> com.google.common.util.**concurrent.ExecutionError:
>> java.lang.**NoClassDefFoundError:
>> org/jclouds/json/config/**GsonModule$DateAdapter
>> at com.google.common.cache.**LocalCache$Segment.get(**
>> LocalCache.java:2261)
>> at com.google.common.cache.**LocalCache.get(LocalCache.**
>> java:3995)
>> at com.google.common.cache.**LocalCache.getOrLoad(**
>> LocalCache.java:3999)
>> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
>> get(LocalCache.java:4869)
>> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
>> getUnchecked(LocalCache.java:**4875)
>> at org.apache.whirr.service.**ComputeCache.apply(**
>> ComputeCache.java:86)
>> at org.apache.whirr.service.**ComputeCache.apply(**
>> ComputeCache.java:78)
>> at
>> org.apache.whirr.actions.**ScriptBasedClusterAction.**execute(*
>> *ScriptBasedClusterAction.java:**110)
>> at org.apache.whirr.**ClusterController.**destroyCluster(**
>> ClusterController.java:233)
>> at org.apache.whirr.**ClusterController.**destroyCluster(**
>> ClusterController.java:226)
>> at org.apache.whirr.**ClusterController.**launchCluster(**
>> ClusterController.java:121)
>> 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.cloudstack.api.**command.user.emr.**
>> LaunchClusterCmd.execute(**LaunchClusterCmd.java:63)
>> at
>> com.cloud.api.ApiDispatcher.**dispatch(ApiDispatcher.java:**
>> 162)
>> at
>> com.cloud.api.ApiServer.**queueCommand(ApiServer.java:**505)
>> at
>> com.cloud.api.ApiServer.**handleRequest(ApiServer.java:**355)
>> at com.cloud.api.ApiServlet.**processRequest(ApiServlet.**
>> java:302)
>> at com.cloud.api.ApiServlet.**doGet(ApiServlet.java:66)
>> at javax.servlet.http.**HttpServlet.service(**
>> HttpServlet.java:707)
>> at javax.servlet.http.**HttpServlet.service(**
>> HttpServlet.java:820)
>> at org.mortbay.jetty.servlet.**ServletHolder.handle(**
>> ServletHolder.java:511)
>> at org.mortbay.jetty.servlet.**ServletHandler.handle(**
>> ServletHandler.java:401)
>> at org.mortbay.jetty.security.**SecurityHandler.handle(**
>> SecurityHandler.java:216)
>> at org.mortbay.jetty.servlet.**SessionHandler.handle(**
>> SessionHandler.java:182)
>> at org.mortbay.jetty.handler.**ContextHandler.handle(**
>> ContextHandler.java:766)
>> at org.mortbay.jetty.webapp.**WebAppContext.handle(**
>> WebAppContext.java:450)
>> at
>> org.mortbay.jetty.handler.**ContextHandlerCollection.**handle(*
>> *ContextHandlerCollection.java:**230)
>> at org.mortbay.jetty.handler.**HandlerCollection.handle(**
>> HandlerCollection.java:114)
>> at org.mortbay.jetty.handler.**HandlerWrapper.handle(**
>> HandlerWrapper.java:152)
>> at org.mortbay.jetty.Server.**handle(Server.java:326)
>> at org.mortbay.jetty.**HttpConnection.handleRequest(**
>> HttpConnection.java:542)
>> at org.mortbay.jetty.**HttpConnection$RequestHandler.**
>> headerComplete(HttpConnection.**java:928)
>> at
>> org.mortbay.jetty.HttpParser.**parseNext(HttpParser.java:549)
>> at
>> org.mortbay.jetty.HttpParser.**parseAvailable(HttpParser.**
>> java:212)
>> at org.mortbay.jetty.**HttpConnection.handle(**
>> HttpConnection.java:404)
>> at org.mortbay.io.nio.**SelectChannelEndPoint.run(**
>> SelectChannelEndPoint.java:**410)
>> at org.mortbay.thread.**QueuedThreadPool$PoolThread.**
>> run(QueuedThreadPool.java:582)
>> Caused by: java.lang.**NoClassDefFoundError:
>> org/jclouds/json/config/**
>> GsonModule$DateAdapter
>> at org.jclouds.cloudstack.config.**CloudStackParserModule.**
>> configure(**CloudStackParserModule.java:**46)
>> at com.google.inject.**AbstractModule.configure(**
>> AbstractModule.java:59)
>> at com.google.inject.spi.**Elements$RecordingBinder.**
>> install(Elements.java:223)
>> at com.google.inject.spi.**Elements.getElements(Elements.**
>> java:101)
>> at
>> com.google.inject.internal.**InjectorShell$Builder.build(**
>> InjectorShell.java:133)
>> at
>> com.google.inject.internal.**InternalInjectorCreator.build(**
>> InternalInjectorCreator.java:**103)
>> at com.google.inject.Guice.**createInjector(Guice.java:95)
>> at
>> org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
>> java:405)
>> at
>> org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
>> java:329)
>> at
>> org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
>> 620)
>> at
>> org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
>> 600)
>> at org.apache.whirr.service.**ComputeCache$1.load(**
>> ComputeCache.java:117)
>> at org.apache.whirr.service.**ComputeCache$1.load(**
>> ComputeCache.java:96)
>> at
>> com.google.common.cache.**LocalCache$**LoadingValueReference.**
>> loadFuture(LocalCache.java:**3594)
>> at com.google.common.cache.**LocalCache$Segment.loadSync(**
>> LocalCache.java:2379)
>> at com.google.common.cache.**LocalCache$Segment.**
>> lockedGetOrLoad(LocalCache.**java:2342)
>> at com.google.common.cache.**LocalCache$Segment.get(**
>> LocalCache.java:2257)
>> ... 37 more
>>
>>
>> The execute method for the lauchClusterCmd is below:
>>
>> public void execute() {
>>
>> LaunchClusterResponse response = new
>> LaunchClusterResponse();
>> response.setObjectName("**launchCluster");
>> LaunchClusterCommand command = null;
>> try {
>> command = new LaunchClusterCommand(); //imported from
>> org.apache.whirr.cli.command.**LaunchClusterCommand;
>> } catch (Exception ex) {
>>
>> Logger.getLogger(**LaunchClusterCmd.class.**getName()).log(Level.SEVERE,
>> null, ex);
>> }
>> String[] args = new String[2];
>> args[0] = "--config";
>> args[1] = config;
>>
>> try {
>> command.run(System.in, System.out, System.err,
>> Arrays.asList(args));
>> } catch (Exception ex) {
>>
>> Logger.getLogger(**LaunchClusterCmd.class.**getName()).log(Level.SEVERE,
>> null, ex);
>> }
>> response.setResponseName(**getCommandName());
>> output = "successfully launched the cluster.";
>> response.setOutPut(output);
>> this.setResponseObject(**response);
>> }
>> Does the above error indicate that I am missing a couple of class
>> files
>> or am I not configuring the JAVA classpath correctly?
>>
>> Also could someone explain what does this file
>> client/target/conf/classpath.**conf do ?
>>
>>
>> Thanks.
>>
>> Cheers,
>> Meng
>>
Re: java.lang.NoClassDefFoundError
Posted by Andrei Savu <sa...@gmail.com>.
Most likely you have another version of Guava on your classpath. Please
share the complete pom.xml file.
-- Andrei Savu / axemblr.com
On Wed, Sep 11, 2013 at 5:46 AM, Han,Meng <me...@ufl.edu> wrote:
> Hi all,
>
> I am adding a plugin to CloudStack. One of the APIs of this plugin
> (launchCluster) is to start a haoop cluster on Cloudstack using Whirr. I
> included whirr as a dependency to my plugin.
>
> <dependency>
> <groupId>org.apache.whirr</**groupId>
> <artifactId>whirr</artifactId>
> <version>0.8.2</version>
> <type>pom</type>
> </dependency>
>
>
> When I test this api in CloudMonkey I am getting the following error:
>
> launchCluster config=/home/meng/whirr/dream
>>
> HTTP Error 500: java.lang.**NoClassDefFoundError: org/jclouds/json/config/
> **GsonModule$DateAdapter
>
> Below is the management server log :
>
> Running on provider cloudstack using identity
> h3DKHC9AVlhKnUhpyThMuLhC119QfN**QQ8xhyjbf_**rnu5ZL1QeOWdw7aZRGXVO1VApG6q0a
> **K-A-tQRQsZFwnOXQ
> ERROR [apache.whirr.**ClusterController] (1859072722@qtp-1275353837-2:)
> Unable to start the cluster. Terminating all nodes.
> com.google.common.util.**concurrent.ExecutionError: java.lang.**NoClassDefFoundError:
> com/google/gson/TypeAdapter
> at com.google.common.cache.**LocalCache$Segment.get(**
> LocalCache.java:2261)
> at com.google.common.cache.**LocalCache.get(LocalCache.**
> java:3995)
> at com.google.common.cache.**LocalCache.getOrLoad(**
> LocalCache.java:3999)
> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
> get(LocalCache.java:4869)
> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
> getUnchecked(LocalCache.java:**4875)
> at org.apache.whirr.service.**ComputeCache.apply(**
> ComputeCache.java:86)
> at org.apache.whirr.service.**ComputeCache.apply(**
> ComputeCache.java:78)
> at org.apache.whirr.actions.**ScriptBasedClusterAction.**execute(*
> *ScriptBasedClusterAction.java:**110)
> at org.apache.whirr.**ClusterController.**bootstrapCluster(**
> ClusterController.java:137)
> at org.apache.whirr.**ClusterController.**launchCluster(**
> ClusterController.java:113)
> 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.cloudstack.api.**command.user.emr.**
> LaunchClusterCmd.execute(**LaunchClusterCmd.java:63)
> at com.cloud.api.ApiDispatcher.**dispatch(ApiDispatcher.java:**
> 162)
> at com.cloud.api.ApiServer.**queueCommand(ApiServer.java:**505)
> at com.cloud.api.ApiServer.**handleRequest(ApiServer.java:**355)
> at com.cloud.api.ApiServlet.**processRequest(ApiServlet.**
> java:302)
> at com.cloud.api.ApiServlet.**doGet(ApiServlet.java:66)
> at javax.servlet.http.**HttpServlet.service(**
> HttpServlet.java:707)
> at javax.servlet.http.**HttpServlet.service(**
> HttpServlet.java:820)
> at org.mortbay.jetty.servlet.**ServletHolder.handle(**
> ServletHolder.java:511)
> at org.mortbay.jetty.servlet.**ServletHandler.handle(**
> ServletHandler.java:401)
> at org.mortbay.jetty.security.**SecurityHandler.handle(**
> SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.**SessionHandler.handle(**
> SessionHandler.java:182)
> at org.mortbay.jetty.handler.**ContextHandler.handle(**
> ContextHandler.java:766)
> at org.mortbay.jetty.webapp.**WebAppContext.handle(**
> WebAppContext.java:450)
> at org.mortbay.jetty.handler.**ContextHandlerCollection.**handle(*
> *ContextHandlerCollection.java:**230)
> at org.mortbay.jetty.handler.**HandlerCollection.handle(**
> HandlerCollection.java:114)
> at org.mortbay.jetty.handler.**HandlerWrapper.handle(**
> HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.**handle(Server.java:326)
> at org.mortbay.jetty.**HttpConnection.handleRequest(**
> HttpConnection.java:542)
> at org.mortbay.jetty.**HttpConnection$RequestHandler.**
> headerComplete(HttpConnection.**java:928)
> at org.mortbay.jetty.HttpParser.**parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.**parseAvailable(HttpParser.**
> java:212)
> at org.mortbay.jetty.**HttpConnection.handle(**
> HttpConnection.java:404)
> at org.mortbay.io.nio.**SelectChannelEndPoint.run(**
> SelectChannelEndPoint.java:**410)
> at org.mortbay.thread.**QueuedThreadPool$PoolThread.**
> run(QueuedThreadPool.java:582)
> Caused by: java.lang.**NoClassDefFoundError: com/google/gson/TypeAdapter
> at java.lang.ClassLoader.**defineClass1(Native Method)
> at java.lang.ClassLoader.**defineClass(ClassLoader.java:**791)
> at java.security.**SecureClassLoader.defineClass(**
> SecureClassLoader.java:142)
> at java.net.URLClassLoader.**defineClass(URLClassLoader.**
> java:449)
> at java.net.URLClassLoader.**access$100(URLClassLoader.**java:71)
> at java.net.URLClassLoader$1.run(**URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(**URLClassLoader.java:355)
> at java.security.**AccessController.doPrivileged(**Native Method)
> at java.net.URLClassLoader.**findClass(URLClassLoader.java:**354)
> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
> WebAppClassLoader.java:392)
> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
> WebAppClassLoader.java:363)
> at org.jclouds.cloudstack.config.**CloudStackParserModule.**
> configure(**CloudStackParserModule.java:**46)
> at com.google.inject.**AbstractModule.configure(**
> AbstractModule.java:59)
> at com.google.inject.spi.**Elements$RecordingBinder.**
> install(Elements.java:223)
> at com.google.inject.spi.**Elements.getElements(Elements.**
> java:101)
> at com.google.inject.internal.**InjectorShell$Builder.build(**
> InjectorShell.java:133)
> at com.google.inject.internal.**InternalInjectorCreator.build(**
> InternalInjectorCreator.java:**103)
> at com.google.inject.Guice.**createInjector(Guice.java:95)
> at org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
> java:405)
> at org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
> java:329)
> at org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
> 620)
> at org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
> 600)
> at org.apache.whirr.service.**ComputeCache$1.load(**
> ComputeCache.java:117)
> at org.apache.whirr.service.**ComputeCache$1.load(**
> ComputeCache.java:96)
> at com.google.common.cache.**LocalCache$**LoadingValueReference.**
> loadFuture(LocalCache.java:**3594)
> at com.google.common.cache.**LocalCache$Segment.loadSync(**
> LocalCache.java:2379)
> at com.google.common.cache.**LocalCache$Segment.**
> lockedGetOrLoad(LocalCache.**java:2342)
> at com.google.common.cache.**LocalCache$Segment.get(**
> LocalCache.java:2257)
> ... 36 more
> Caused by: java.lang.**ClassNotFoundException: com.google.gson.TypeAdapter
> at org.codehaus.plexus.**classworlds.strategy.**
> SelfFirstStrategy.loadClass(**SelfFirstStrategy.java:50)
> at org.codehaus.plexus.**classworlds.realm.ClassRealm.**
> loadClass(ClassRealm.java:244)
> at org.codehaus.plexus.**classworlds.realm.ClassRealm.**
> loadClass(ClassRealm.java:230)
> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
> WebAppClassLoader.java:401)
> at org.mortbay.jetty.webapp.**WebAppClassLoader.loadClass(**
> WebAppClassLoader.java:363)
> at java.lang.ClassLoader.**defineClass1(Native Method)
> ... 63 more
> INFO [whirr.state.**ClusterStateStore] (1859072722@qtp-1275353837-2:)
> Unable to load cluster state, assuming it has no running nodes.
> java.io.FileNotFoundException: /home/meng/.whirr/hadoop/**instances (No
> such file or directory)
> at java.io.FileInputStream.open(**Native Method)
> at java.io.FileInputStream.<init>**(FileInputStream.java:138)
> at com.google.common.io.Files$**FileByteSource.openStream(**
> Files.java:124)
> at com.google.common.io.Files$**FileByteSource.openStream(**
> Files.java:114)
> at com.google.common.io.**ByteSource$AsCharSource.**
> openStream(ByteSource.java:**287)
> at com.google.common.io.**CharStreams$3.getInput(**
> CharStreams.java:508)
> at com.google.common.io.**CharStreams$3.getInput(**
> CharStreams.java:505)
> at com.google.common.io.**CharStreams.readLines(**
> CharStreams.java:319)
> at com.google.common.io.Files.**readLines(Files.java:690)
> at org.apache.whirr.state.**FileClusterStateStore.load(**
> FileClusterStateStore.java:55)
> at org.apache.whirr.state.**ClusterStateStore.**tryLoadOrEmpty(**
> ClusterStateStore.java:59)
> at org.apache.whirr.**ClusterController.**destroyCluster(**
> ClusterController.java:226)
> at org.apache.whirr.**ClusterController.**launchCluster(**
> ClusterController.java:121)
> 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.cloudstack.api.**command.user.emr.**
> LaunchClusterCmd.execute(**LaunchClusterCmd.java:63)
> at com.cloud.api.ApiDispatcher.**dispatch(ApiDispatcher.java:**
> 162)
> at com.cloud.api.ApiServer.**queueCommand(ApiServer.java:**505)
> at com.cloud.api.ApiServer.**handleRequest(ApiServer.java:**355)
> at com.cloud.api.ApiServlet.**processRequest(ApiServlet.**
> java:302)
> at com.cloud.api.ApiServlet.**doGet(ApiServlet.java:66)
> at javax.servlet.http.**HttpServlet.service(**
> HttpServlet.java:707)
> at javax.servlet.http.**HttpServlet.service(**
> HttpServlet.java:820)
> at org.mortbay.jetty.servlet.**ServletHolder.handle(**
> ServletHolder.java:511)
> at org.mortbay.jetty.servlet.**ServletHandler.handle(**
> ServletHandler.java:401)
> at org.mortbay.jetty.security.**SecurityHandler.handle(**
> SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.**SessionHandler.handle(**
> SessionHandler.java:182)
> at org.mortbay.jetty.handler.**ContextHandler.handle(**
> ContextHandler.java:766)
> at org.mortbay.jetty.webapp.**WebAppContext.handle(**
> WebAppContext.java:450)
> at org.mortbay.jetty.handler.**ContextHandlerCollection.**handle(*
> *ContextHandlerCollection.java:**230)
> at org.mortbay.jetty.handler.**HandlerCollection.handle(**
> HandlerCollection.java:114)
> at org.mortbay.jetty.handler.**HandlerWrapper.handle(**
> HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.**handle(Server.java:326)
> at org.mortbay.jetty.**HttpConnection.handleRequest(**
> HttpConnection.java:542)
> at org.mortbay.jetty.**HttpConnection$RequestHandler.**
> headerComplete(HttpConnection.**java:928)
> at org.mortbay.jetty.HttpParser.**parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.**parseAvailable(HttpParser.**
> java:212)
> at org.mortbay.jetty.**HttpConnection.handle(**
> HttpConnection.java:404)
> at org.mortbay.io.nio.**SelectChannelEndPoint.run(**
> SelectChannelEndPoint.java:**410)
> at org.mortbay.thread.**QueuedThreadPool$PoolThread.**
> run(QueuedThreadPool.java:582)
> [ERROR] Error for /client/api
> com.google.common.util.**concurrent.ExecutionError: java.lang.**NoClassDefFoundError:
> org/jclouds/json/config/**GsonModule$DateAdapter
> at com.google.common.cache.**LocalCache$Segment.get(**
> LocalCache.java:2261)
> at com.google.common.cache.**LocalCache.get(LocalCache.**
> java:3995)
> at com.google.common.cache.**LocalCache.getOrLoad(**
> LocalCache.java:3999)
> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
> get(LocalCache.java:4869)
> at com.google.common.cache.**LocalCache$LocalLoadingCache.**
> getUnchecked(LocalCache.java:**4875)
> at org.apache.whirr.service.**ComputeCache.apply(**
> ComputeCache.java:86)
> at org.apache.whirr.service.**ComputeCache.apply(**
> ComputeCache.java:78)
> at org.apache.whirr.actions.**ScriptBasedClusterAction.**execute(*
> *ScriptBasedClusterAction.java:**110)
> at org.apache.whirr.**ClusterController.**destroyCluster(**
> ClusterController.java:233)
> at org.apache.whirr.**ClusterController.**destroyCluster(**
> ClusterController.java:226)
> at org.apache.whirr.**ClusterController.**launchCluster(**
> ClusterController.java:121)
> 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.cloudstack.api.**command.user.emr.**
> LaunchClusterCmd.execute(**LaunchClusterCmd.java:63)
> at com.cloud.api.ApiDispatcher.**dispatch(ApiDispatcher.java:**
> 162)
> at com.cloud.api.ApiServer.**queueCommand(ApiServer.java:**505)
> at com.cloud.api.ApiServer.**handleRequest(ApiServer.java:**355)
> at com.cloud.api.ApiServlet.**processRequest(ApiServlet.**
> java:302)
> at com.cloud.api.ApiServlet.**doGet(ApiServlet.java:66)
> at javax.servlet.http.**HttpServlet.service(**
> HttpServlet.java:707)
> at javax.servlet.http.**HttpServlet.service(**
> HttpServlet.java:820)
> at org.mortbay.jetty.servlet.**ServletHolder.handle(**
> ServletHolder.java:511)
> at org.mortbay.jetty.servlet.**ServletHandler.handle(**
> ServletHandler.java:401)
> at org.mortbay.jetty.security.**SecurityHandler.handle(**
> SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.**SessionHandler.handle(**
> SessionHandler.java:182)
> at org.mortbay.jetty.handler.**ContextHandler.handle(**
> ContextHandler.java:766)
> at org.mortbay.jetty.webapp.**WebAppContext.handle(**
> WebAppContext.java:450)
> at org.mortbay.jetty.handler.**ContextHandlerCollection.**handle(*
> *ContextHandlerCollection.java:**230)
> at org.mortbay.jetty.handler.**HandlerCollection.handle(**
> HandlerCollection.java:114)
> at org.mortbay.jetty.handler.**HandlerWrapper.handle(**
> HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.**handle(Server.java:326)
> at org.mortbay.jetty.**HttpConnection.handleRequest(**
> HttpConnection.java:542)
> at org.mortbay.jetty.**HttpConnection$RequestHandler.**
> headerComplete(HttpConnection.**java:928)
> at org.mortbay.jetty.HttpParser.**parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.**parseAvailable(HttpParser.**
> java:212)
> at org.mortbay.jetty.**HttpConnection.handle(**
> HttpConnection.java:404)
> at org.mortbay.io.nio.**SelectChannelEndPoint.run(**
> SelectChannelEndPoint.java:**410)
> at org.mortbay.thread.**QueuedThreadPool$PoolThread.**
> run(QueuedThreadPool.java:582)
> Caused by: java.lang.**NoClassDefFoundError: org/jclouds/json/config/**
> GsonModule$DateAdapter
> at org.jclouds.cloudstack.config.**CloudStackParserModule.**
> configure(**CloudStackParserModule.java:**46)
> at com.google.inject.**AbstractModule.configure(**
> AbstractModule.java:59)
> at com.google.inject.spi.**Elements$RecordingBinder.**
> install(Elements.java:223)
> at com.google.inject.spi.**Elements.getElements(Elements.**
> java:101)
> at com.google.inject.internal.**InjectorShell$Builder.build(**
> InjectorShell.java:133)
> at com.google.inject.internal.**InternalInjectorCreator.build(**
> InternalInjectorCreator.java:**103)
> at com.google.inject.Guice.**createInjector(Guice.java:95)
> at org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
> java:405)
> at org.jclouds.ContextBuilder.**buildInjector(ContextBuilder.**
> java:329)
> at org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
> 620)
> at org.jclouds.ContextBuilder.**buildView(ContextBuilder.java:**
> 600)
> at org.apache.whirr.service.**ComputeCache$1.load(**
> ComputeCache.java:117)
> at org.apache.whirr.service.**ComputeCache$1.load(**
> ComputeCache.java:96)
> at com.google.common.cache.**LocalCache$**LoadingValueReference.**
> loadFuture(LocalCache.java:**3594)
> at com.google.common.cache.**LocalCache$Segment.loadSync(**
> LocalCache.java:2379)
> at com.google.common.cache.**LocalCache$Segment.**
> lockedGetOrLoad(LocalCache.**java:2342)
> at com.google.common.cache.**LocalCache$Segment.get(**
> LocalCache.java:2257)
> ... 37 more
>
>
> The execute method for the lauchClusterCmd is below:
>
> public void execute() {
>
> LaunchClusterResponse response = new LaunchClusterResponse();
> response.setObjectName("**launchCluster");
> LaunchClusterCommand command = null;
> try {
> command = new LaunchClusterCommand(); //imported from
> org.apache.whirr.cli.command.**LaunchClusterCommand;
> } catch (Exception ex) {
> Logger.getLogger(**LaunchClusterCmd.class.**getName()).log(Level.SEVERE,
> null, ex);
> }
> String[] args = new String[2];
> args[0] = "--config";
> args[1] = config;
>
> try {
> command.run(System.in, System.out, System.err,
> Arrays.asList(args));
> } catch (Exception ex) {
> Logger.getLogger(**LaunchClusterCmd.class.**getName()).log(Level.SEVERE,
> null, ex);
> }
> response.setResponseName(**getCommandName());
> output = "successfully launched the cluster.";
> response.setOutPut(output);
> this.setResponseObject(**response);
> }
> Does the above error indicate that I am missing a couple of class files
> or am I not configuring the JAVA classpath correctly?
>
> Also could someone explain what does this file
> client/target/conf/classpath.**conf do ?
>
>
> Thanks.
>
> Cheers,
> Meng
>
Re: java.lang.NoClassDefFoundError
Posted by "SuichII, Christopher" <Ch...@netapp.com>.
Check the maven dependency tree of CloudStack with and without your plugin using 'mvn dependency:tree'. This will show the maven dependencies and transitive dependencies. I ran in to issues like this when I had a transitive dependency that pulled in a newer or older version of a pre-existing dependency of CloudStack.
-Chris
--
Chris Suich
chris.suich@netapp.com
NetApp Software Engineer
Data Center Platforms – Cloud Solutions
Citrix, Cisco & Red Hat
On Sep 10, 2013, at 10:46 PM, "Han,Meng" <me...@ufl.edu> wrote:
> Hi all,
>
> I am adding a plugin to CloudStack. One of the APIs of this plugin (launchCluster) is to start a haoop cluster on Cloudstack using Whirr. I included whirr as a dependency to my plugin.
>
> <dependency>
> <groupId>org.apache.whirr</groupId>
> <artifactId>whirr</artifactId>
> <version>0.8.2</version>
> <type>pom</type>
> </dependency>
>
>
> When I test this api in CloudMonkey I am getting the following error:
>
>> launchCluster config=/home/meng/whirr/dream
> HTTP Error 500: java.lang.NoClassDefFoundError: org/jclouds/json/config/GsonModule$DateAdapter
>
> Below is the management server log :
>
> Running on provider cloudstack using identity h3DKHC9AVlhKnUhpyThMuLhC119QfNQQ8xhyjbf_rnu5ZL1QeOWdw7aZRGXVO1VApG6q0aK-A-tQRQsZFwnOXQ
> ERROR [apache.whirr.ClusterController] (1859072722@qtp-1275353837-2:) Unable to start the cluster. Terminating all nodes.
> com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: com/google/gson/TypeAdapter
> at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2261)
> at com.google.common.cache.LocalCache.get(LocalCache.java:3995)
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3999)
> at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4869)
> at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4875)
> at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:86)
> at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:78)
> at org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:110)
> at org.apache.whirr.ClusterController.bootstrapCluster(ClusterController.java:137)
> at org.apache.whirr.ClusterController.launchCluster(ClusterController.java:113)
> 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.cloudstack.api.command.user.emr.LaunchClusterCmd.execute(LaunchClusterCmd.java:63)
> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:505)
> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:355)
> at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
> at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: java.lang.NoClassDefFoundError: com/google/gson/TypeAdapter
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
> at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
> at org.jclouds.cloudstack.config.CloudStackParserModule.configure(CloudStackParserModule.java:46)
> at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
> at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
> at com.google.inject.spi.Elements.getElements(Elements.java:101)
> at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
> at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
> at com.google.inject.Guice.createInjector(Guice.java:95)
> at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405)
> at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:329)
> at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:620)
> at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:600)
> at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:117)
> at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:96)
> at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3594)
> at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
> at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
> at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
> ... 36 more
> Caused by: java.lang.ClassNotFoundException: com.google.gson.TypeAdapter
> at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
> at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
> at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
> at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401)
> at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
> at java.lang.ClassLoader.defineClass1(Native Method)
> ... 63 more
> INFO [whirr.state.ClusterStateStore] (1859072722@qtp-1275353837-2:) Unable to load cluster state, assuming it has no running nodes.
> java.io.FileNotFoundException: /home/meng/.whirr/hadoop/instances (No such file or directory)
> at java.io.FileInputStream.open(Native Method)
> at java.io.FileInputStream.<init>(FileInputStream.java:138)
> at com.google.common.io.Files$FileByteSource.openStream(Files.java:124)
> at com.google.common.io.Files$FileByteSource.openStream(Files.java:114)
> at com.google.common.io.ByteSource$AsCharSource.openStream(ByteSource.java:287)
> at com.google.common.io.CharStreams$3.getInput(CharStreams.java:508)
> at com.google.common.io.CharStreams$3.getInput(CharStreams.java:505)
> at com.google.common.io.CharStreams.readLines(CharStreams.java:319)
> at com.google.common.io.Files.readLines(Files.java:690)
> at org.apache.whirr.state.FileClusterStateStore.load(FileClusterStateStore.java:55)
> at org.apache.whirr.state.ClusterStateStore.tryLoadOrEmpty(ClusterStateStore.java:59)
> at org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:226)
> at org.apache.whirr.ClusterController.launchCluster(ClusterController.java:121)
> 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.cloudstack.api.command.user.emr.LaunchClusterCmd.execute(LaunchClusterCmd.java:63)
> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:505)
> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:355)
> at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
> at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> [ERROR] Error for /client/api
> com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/jclouds/json/config/GsonModule$DateAdapter
> at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2261)
> at com.google.common.cache.LocalCache.get(LocalCache.java:3995)
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3999)
> at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4869)
> at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4875)
> at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:86)
> at org.apache.whirr.service.ComputeCache.apply(ComputeCache.java:78)
> at org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:110)
> at org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:233)
> at org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:226)
> at org.apache.whirr.ClusterController.launchCluster(ClusterController.java:121)
> 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.cloudstack.api.command.user.emr.LaunchClusterCmd.execute(LaunchClusterCmd.java:63)
> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:505)
> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:355)
> at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
> at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: java.lang.NoClassDefFoundError: org/jclouds/json/config/GsonModule$DateAdapter
> at org.jclouds.cloudstack.config.CloudStackParserModule.configure(CloudStackParserModule.java:46)
> at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
> at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
> at com.google.inject.spi.Elements.getElements(Elements.java:101)
> at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
> at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
> at com.google.inject.Guice.createInjector(Guice.java:95)
> at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405)
> at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:329)
> at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:620)
> at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:600)
> at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:117)
> at org.apache.whirr.service.ComputeCache$1.load(ComputeCache.java:96)
> at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3594)
> at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
> at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
> at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
> ... 37 more
>
>
> The execute method for the lauchClusterCmd is below:
>
> public void execute() {
>
> LaunchClusterResponse response = new LaunchClusterResponse();
> response.setObjectName("launchCluster");
> LaunchClusterCommand command = null;
> try {
> command = new LaunchClusterCommand(); //imported from org.apache.whirr.cli.command.LaunchClusterCommand;
> } catch (Exception ex) {
> Logger.getLogger(LaunchClusterCmd.class.getName()).log(Level.SEVERE, null, ex);
> }
> String[] args = new String[2];
> args[0] = "--config";
> args[1] = config;
>
> try {
> command.run(System.in, System.out, System.err, Arrays.asList(args));
> } catch (Exception ex) {
> Logger.getLogger(LaunchClusterCmd.class.getName()).log(Level.SEVERE, null, ex);
> }
> response.setResponseName(getCommandName());
> output = "successfully launched the cluster.";
> response.setOutPut(output);
> this.setResponseObject(response);
> }
> Does the above error indicate that I am missing a couple of class files or am I not configuring the JAVA classpath correctly?
>
> Also could someone explain what does this file client/target/conf/classpath.conf do ?
>
>
> Thanks.
>
> Cheers,
> Meng