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. > >