引起:java.lang.ClassNotFoundException:org.apache.zookeeper.KeeperException

当我在Eclipse IDE下运行JAVA程序(不能使用新的HTable)时,我遇到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/zookeeperKeeperException at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:185) at org.apache.hadoop.hbase.client.HTable.(HTable.java:154) at org.apache.hadoop.hbase.client.HTable.(HTable.java:132) at HBaseConnector.main(HBaseConnector.java:27) Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.KeeperException at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 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 java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 4 more 

 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.util.Bytes; public class HBaseConnector { public static void main(String[] args) throws IOException { Configuration config = HBaseConfiguration.create(); HTable table = new HTable(config, "myLittleHBaseTable"); ... } -------------- used jar files: hbase-0.94.6-cdh4.3.0.jar zookeeper-3.4.5-cdh4.3.0-tests.jar lf4j-log4j12-1.7.5.jar commons-configuration-1.9.jar com.springsource.org.apache.commons.logging-1.1.1.jar commons-lang-2.6.jar hadoop-core-0.20.0.jar 

哪里错了?

尝试这个

我通过编辑文件“/usr/local/hbase-0.94.1/conf/hbase-env.sh”并添加元素“export HBASE_CLASSPATH = / usr / local / hbase-0.94.1 / lib”来修复此问题。

zookeeper JAR位于HBase安装位置“/usr/local/hbase-0.94.1/lib”。

只需在位于HBASE中的构建路径中包含zookeeper jar文件即可。 它应该解决你的问题。

您的类可能无法通过您的代码访问尝试使用分布式缓存并加载jar文件,使用链接设置配置: https : //hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop /filecache/DistributedCache.html