2

我收到以下错误

TestHBase.java:6: error: package org.apache.hadoop.conf does not exist

在 ubuntu 12.04 中尝试以下操作时:

hduser@ubuntu:~$ javac -classpath hbase-0.94.8.jar:hadoop-core-1.1.2.jar TestHBase.java 

我尝试了以下方法:

  • 重命名hbase自带的hadoop-core-1.1.2.jar到hbase/lib:hadoop-core-1.0.4.jar

  • 将 hadoop/lib/commons-*.jar 库复制到 hbase/lib hduser@ubuntu:~$ hbase/bin/hbase

  • 我检查了我的 hbase 类路径,看起来还可以:

    $ classpath | tr ":" "\n" | grep hadoop | head
    /home/hduser/hbase/lib/hadoop-core-1.1.2.jar
    /usr/local/hadoop/libexec/../conf
    /usr/local/hadoop/libexec/..
    /usr/local/hadoop/libexec/../hadoop-core-1.1.2.jar
    /usr/local/hadoop/libexec/../lib/asm-3.2.jar
    

我不确定我还能尝试什么。我将不胜感激任何帮助。

编译对我有用的唯一方法是指定完整路径:

javac -classpath /home/hduser/hbase/hbase-0.94.8.jar:/home/hduser/hbase/lib/hadoop-core-1.1.2.jar TestHBase.jar

但后来我无法运行:

hduser@ubuntu:~$ ls -l

total 56578

-rw-r--r--  1 hduser hadoop     8445 Jun 23 13:17 examples.desktop
drwxr-xr-x 12 hduser hadoop     1024 Jul  6 08:14 hbase
-rw-r--r--  1 hduser hadoop 57691943 Jun 24 21:33 hbase-0.94.8.tar.gz
drwxr-xr-x  6 hduser hadoop     1024 Jun 25 07:14 hdfs-data
drwxr-xr-x  5 hduser hadoop     1024 Jun 25 07:14 hdfs-data-name
-rw-r--r--  1 hduser hadoop     1247 Jul 10 07:18 TestHBase.class
-rw-r--r--  1 hduser hadoop      875 Jul  6 07:03 TestHBase.java
drwxr-xr-x  4 hduser hadoop     1024 Jul  4 07:30 workspace

hduser@ubuntu:~$ java -cp /home/hduser/hbase/bin/hbase classpathTestHBase

错误:无法找到或加载主类 TestHBase

4

1 回答 1

0

在连接到 HBase 时,Java 客户端至少需要在其 CLASSPATH 中指定以下 JAR 文件:hbase、hadoop-core、zookeeper、log4j、commons-logging 和 commons-lang。

所有这些 jars 都存在于 HBASE lib 文件夹中,理想情况下您应该使用这些 jars。

假设您在本地模式下运行:

  1. 您不应该使用 HBASE 库中的 hadoop jar 吗?

  2. 您是否在类路径和 HBASE conf 目录中也有上面指定的其他 jar?

于 2013-07-09T08:42:24.193 回答