错误:java.lang.classnotfoundexception:org.apache.hadoop.hbase.hbaseconfiguration使用javac编译

yh2wf1be  于 2021-06-04  发布在  Hadoop
关注(0)|答案(4)|浏览(497)

我是hadoop和mapreduce的初学者。在我的ubuntuvm上安装hadoop之后,我尝试了一些入门示例,比如wordcount和anagram。
我想做一个 Apriori on MapReduce . 我在sourceforge找到了这个(http://sourceforge.net/p/apriorimapred/wiki/home/).
在我下载并安装了一些必需的组件之后,比如 HBase 以及 Log4j (虽然我在安装log4j时遇到了问题,所以我选择通过将level设置为off来禁用它们),
我与这个问题作斗争

"Error: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration" -- as in the picture. (https://dl.dropboxusercontent.com/u/51053996/Pics/hadoop%20classnotfound.jpg)

每次我想运行jar文件时都会发生这种情况。我采取的步骤是

1. javac -cp "$HADOOP_HOME/share/hadoop/mapreduce/hadoop-common-2.0.0-alpha.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.0.2-alpha.jar:$HADOOP_HOME/lib/commons-configuration-1.10/*:/usr/local/apache-log4j-1.2.17/log4j-1.2.17.jar:/usr/lib/hbase/hbase-0.94.8/hbase-0.94.8.jar" apriori.java

2. jar -cvf apriori.jar -C . .

3. $HADOOP_HOME/bin/hadoop jar /home/hduser/yarn/hadoop-2.5.1/share/hadoop/mapreduce/apriori.jar apriori /in /out2 /out2c /out2a

(问题发生在我在步骤3中输入命令之后)在步骤1中编译后没有显示任何错误(但是,我尝试了编译,但没有包括 "/usr/lib/hbase/hbase-0.94.8/hbase-0.94.8.jar" 大约有100个错误——所以我猜lib工作得很好)。
我把这个问题坚持了大约两个星期,找不到任何有效的解决办法。我尝试了很多建议,比如修复环境变量,添加一些行 hbase-env.sh 等,这里有一些,我书签他们(但没有解决我的)。
线程“main”java.lang.noclassdeffounderror中出现异常:org/apache/hadoop/hbase/hbaseconfiguration
在java类路径中设置多个jar
原因:java.lang.classnotfoundexception:org.apache.zookeeper.keeperexception
https://archanaschangale.wordpress.com/2013/08/29/installing-apache-hbase-on-ubuntu-for-standalone-mode/
http://www.quora.com/how-do-i-install-hbase-on-ubuntu
非常感谢你的帮助,
spacez公司

gblwokeq

gblwokeq1#

你可以试着复制 hbase-{vsersion}.jar$HBASE_HOME$HADOOP_HOME/lib

8mmmxcuj

8mmmxcuj2#

我在nutch2.3.1(gora 0.6.1)中使用hbase-098.8-hadoop2时遇到了相同的错误。在我将下面的行添加到 $NUTCH_ROOT/ivy/ivy.xml :

<dependency org="org.apache.hbase" name="hbase-common" rev="0.98.8-hadoop2" conf="*->default" />

在官方的nutch2教程中,这是一个gora bug。

sc4hvdpw

sc4hvdpw3#

我已经通过重新安装hadoop和hbase的兼容版本解决了这个问题(我使用的是hadoop2.5.1和hbase 0.98.11)。另外,在hadoop env中添加hadoop和hbase jar的正确类路径。

xpszyzbs

xpszyzbs4#

至于我,我只是跑了:

export HADOOP_CLASSPATH=`~/hbase/bin/hbase classpath`
java  -cp "$HADOOP_CLASSPATH:target/<myjar>.jar" <path_to>.<myHBaseClass>

相关问题