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 出现,此问题搞定。内牛满面

************************************************************分割线**************************************************

貌似,第一行红字,能够解决匹配问题,但缺乏一个包,因此再补充一个包
相关文章
相关标签/搜索