So, its not finding zk in your CLASSPATH?  For sure its there?  Try
adding it to one of Tomcat's general lib dirs ($TOMCAT_HOME/lib or
$TOMCAT_HOME/common/lib?  Its been a while....) to see if that makes a
difference.

St.Ack

On Sat, Apr 17, 2010 at 7:44 PM,  <victor.h...@nokia.com> wrote:
> Hi
>
> I am trying to use Hbase client in Tomcat, and I have in my 
> WebContent/WEB-INF/lib folder these files:
> Zookeeper-3.2.2.jar
> hadoop-0.20.2-core.jar
> hbase-0.20.3.jar
> hbase-default.xml
> hbase-site.xml
>
> But I am still getting this zookeeper Watcher class not found error, when 
> calling
> HTable table = new HTable(config, className);
>
> No exception if only call        config = new HBaseConfiguration(); and not 
> call new Htable...
>
> Can anyone see what I need to do to fix this?
>
>
> Thanks,
> Victor
>
>
> org.jboss.resteasy.spi.UnhandledException: java.lang.NoClassDefFoundError: 
> org/apache/zookeeper/Watcher
>    
> org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:263)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:169)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:146)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:456)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:111)
>    
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:217)
>    
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:159)
>    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> root cause
>
> java.lang.NoClassDefFoundError: org/apache/zookeeper/Watcher
>    java.lang.ClassLoader.defineClass1(Native Method)
>    java.lang.ClassLoader.defineClass(ClassLoader.java:698)
>    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>    
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
>    
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
>    
> org.apache.hadoop.hbase.client.HConnectionManager.getClientZooKeeperWatcher(HConnectionManager.java:170)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getZooKeeperWrapper(HConnectionManager.java:932)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:948)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:625)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:601)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:675)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:634)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:601)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:675)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:638)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:601)
>    org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:128)
>    org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:106)
>    com.nokia.dataos.api.StoreImpl.get(StoreImpl.java:57)
>    com.nokia.dataos.api.NodeResource.node(NodeResource.java:25)
>    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    java.lang.reflect.Method.invoke(Method.java:597)
>    
> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:124)
>    
> org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:247)
>    org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:212)
>    org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:202)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:441)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:111)
>    
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:217)
>    
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:159)
>    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> root cause
>
> java.lang.ClassNotFoundException: org.apache.zookeeper.Watcher
>    
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
>    
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
>    java.lang.ClassLoader.defineClass1(Native Method)
>    java.lang.ClassLoader.defineClass(ClassLoader.java:698)
>    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>    
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
>    
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
>    
> org.apache.hadoop.hbase.client.HConnectionManager.getClientZooKeeperWatcher(HConnectionManager.java:170)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getZooKeeperWrapper(HConnectionManager.java:932)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:948)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:625)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:601)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:675)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:634)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:601)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:675)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:638)
>    
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:601)
>    org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:128)
>    org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:106)
>    com.nokia.dataos.api.StoreImpl.get(StoreImpl.java:57)
>    com.nokia.dataos.api.NodeResource.node(NodeResource.java:25)
>    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    java.lang.reflect.Method.invoke(Method.java:597)
>    
> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:124)
>    
> org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:247)
>    org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:212)
>    org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:202)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:441)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
>    
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:111)
>    
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:217)
>    
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:159)
>    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> note The full stack trace of the root cause is available in the Apache 
> Tomcat/6.0.18 logs.
>
>

Reply via email to