HBase版本匹配問題:HBase-0.90.4與Hadoop-0.20.203.0

轉自:http://javoft.net/2011/09/hbase-hmaster-%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8-call-to-failed-on-local-exception/java


前提是HBase-0.90.4與Hadoop-0.20.203.0apache

如下兩行紅字能夠解決HBase與Hadoop的鏈接問題(鏈接須要一致性的版本)app

最近打算試試Hbase,Hadoop是前幾天已經裝好的,三臺虛擬機(機房老師看到說:「你還真敢玩」)oop

hadoop 版本0.20.203.0.net

hbase版本0.90.4hadoop

hbase按照網上文檔配置完成之後老是出現(master的log文件裏面)文檔

java.io.IOException: Call to <host:port> failed on local exceptionget

不少人說是版本問題,
個人hadoop版本是0.20.203.0,網上說版本問題可能是0.21 hadoop,0.20的出問題的很少,
有人還說說是由於HIVE_HOME 下的hbase jar包和當前hbase的版本不符引發的(這比較扯,個人hive徹底沒有運行,二者確定沒有關係),
後來把hbase_home/lib(啓動的時候會加載裏面全部jar) 下的hadoop-core-0.20-append-r1056497.jar rm 掉,再cp hadoop_home下的hadoop-core-0.20.203.0.jar到lib中,
滿心期待的start-hbase.sh,仍是沒啓動起來,再次失望了(我這看國足的人,失望是常事,沒什麼!!),這時候開始懷疑:難道不是網上所說的版本問題?虛擬機


開始繼續搜索,無果,全都說是版本問題,靜下來認真看看hbase的master log吧,log中寫道:io

2011-08-31 18:15:20,351 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration

如今NoClassDefFoundError,缺乏 org/apache/commons/configuration/Configuration 果斷給他加一個commons-configuration包試試,
從hadoop_home/lib下面cp一個commons-configuration-1.6.jar到hbase_home/lib下,

回憶剛纔rm掉的包是 hadoop-core-0.20-append-r1056497.jar.難道它append org/apache/commons/configuration/Configuration 在包裏面了,查看一下,並無多餘的類,也就是說即便版本沒問題一樣會有NoClassDefFoundError,
再次start-hbase.sh,jps一下,HMaster 出現,此問題搞定。內牛滿面

************************************************************分割線**************************************************

貌似,第一行紅字,能夠解決匹配問題,但缺乏一個包,因此再補充一個包
相關文章
相關標籤/搜索