在简单的Hbase示例中获取“package org.apache.hadoop.conf”不存在

时间:2013-07-06 15:49:23

标签: hadoop hbase

我收到以下错误

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 classpath TestHBase

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

1 个答案:

答案 0 :(得分:0)

最小的情况是,当连接到HBase时,Java客户端需要在其CLASSPATH中指定的以下JAR文件:hbase,hadoop-core,zookeeper,log4j,commons-logging和commons-lang。

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

假设您以本地模式运行:

  1. 你不应该使用HBASE lib中的hadoop jar吗?

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