3
我試圖運行MapReduce作業來掃描HBase表。目前我正在使用Cloudera 4.4附帶的HBase版本0.94.6。我在程序某些時候,我使用掃描(),和我正確地導入:使用HBase掃描的java.lang.NoClassDefFoundError
import org.apache.hadoop.hbase.client.Scan;
它編譯好,我能夠創建一個jar文件了。我通過將hbase classpath
作爲-cp選項的值來執行此操作。當運行該程序,我得到以下信息:
hadoop jar my_program.jar MyJobClass -libjars <list_of_jars>
其中list_of_jars包含/opt/cloudera/parcels/CDH/lib/hbase/hbase.jar:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/client/Scan
我使用運行代碼。爲了仔細檢查,我確認了hbase.jar包含Scan。我這樣做,有:
jar tf /opt/cloudera/parcels/CDH/lib/hbase/hbase.jar
而且我看行:
org/apache/hadoop/hbase/client/Scan.class
輸出。所有看起來都對我好。我不明白爲什麼說掃描沒有定義。我傳遞了正確的jar,它包含了這個類。
任何幫助表示讚賞。
如何設置它在Windows ??? – Backtrack
我需要在哪個文件中設置上述類路徑? –
改變〜/ .bash_profile'export HADOOP_CLASSPATH ='depend_on_you_machine/bin/hbase classpath – hakunami