我是Hadoop和MapReduce的初学者。在我的Ubuntu VM上安装Hadoop之后,我尝试了一些像Wordcount和Anagram这样的初学者例子。
我想做Apriori on MapReduce
。我在Sourceforge上找到了这个(http://sourceforge.net/p/apriorimapred/wiki/Home/)。
下载并安装了一些必需的组件,例如HBase
和Log4j
(虽然我在安装log4j时遇到问题,所以我选择通过将关卡设置为关闭来禁用它们),
我在努力解决这个问题
"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工作得很好。)
我坚持这个问题大约2周:(并且找不到任何可行的解决方案。我已经尝试了许多建议,例如修复环境变量,在hbase-env.sh
中添加一些行等等这里有一些我给他们加了书签(但没有解决我的问题)。
非常感谢你,非常感谢每一位帮助,
Spacez
答案 0 :(得分:1)
我正在使用hbase-098.8-hadoop2和nutch 2.3.1(gora 0.6.1)并遇到同样的错误。我将以下行添加到$NUTCH_ROOT/ivy/ivy.xml
后修复了它:
<dependency org="org.apache.hbase" name="hbase-common" rev="0.98.8-hadoop2" conf="*->default" />
这是官方Nutch 2教程中提到的gora错误。
答案 1 :(得分:0)
您可以尝试将hbase-{vsersion}.jar
从$HBASE_HOME
复制到$HADOOP_HOME/lib
答案 2 :(得分:0)
我通过使用兼容版本重新安装Hadoop和HBase解决了这个问题(我使用的是Hadoop 2.5.1和HBase 0.98.11)。另外,在hadoop-env中添加Hadoop和Hbase jar的正确类路径。
答案 3 :(得分:0)
至于我,我只是跑了:
export HADOOP_CLASSPATH=`~/hbase/bin/hbase classpath`
java -cp "$HADOOP_CLASSPATH:target/<myjar>.jar" <path_to>.<myHBaseClass>