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

标签 java hadoop hbase

当我在 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.<init>(HTable.java:154)
at org.apache.hadoop.hbase.client.HTable.<init>(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 位于“/usr/local/hbase-0.94.1/lib”的 HBase 安装中。

关于java - 由 : java. lang.ClassNotFoundException : org. apache.zookeeper.KeeperException 引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19150604/

相关文章:

java - Java中随便引用方法时的命名约定

java - 一个对象可以有多个比较方法来根据不同的值进行排序吗?

java - 服务器IPC版本9在访问hdfs时无法与客户端通信

java - MapReduce Hadoop 字长频率不起作用

java - 使用版本 0.98.0-hadoop2 写入 HBase 表

在 scan.setCaching(cacheRow) 中设置更高值时,Hbase 扫描不返回所有行

java - java 是否有一个简约的 WebSocket 客户端库?

java - JBoss 上未生成线程转储

hadoop - 使用 Hadoop 存储股市报价数据

java - hbase:使用动态创建的限定符查询特定值