您的位置:首页 > 运维架构 > Apache

java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/h

2016-04-25 11:46 477 查看
链接:http://www.chinahadoop.cn/classroom/5/thread/136

fish • 06-27

Hi,kevy,还是像我之前说的,排查问题要尽可能简化问题,先不要弄协处理器。
我已经找到原因。cdh的这个hbase1.0.0跟apache的hbase1.0.0,有不一致的实现,导致基于apache的hbase编译的包(在maven中声明的hbase 1.0.0依赖)在cdh hbase上跑不起来。
我在问题检查是反编译了apache版本以及cdh版本的hbase同名类,发现他们的API不同。
我用如下方法,手动添加了cdh的HBase的依赖包对应用进行编译,问题就消失了,你也试试吧。



(0)





kevy • 06-27

好的,谢谢老师,我eclipse导入的是apache的jar包,我以为我打包后发到服务器使用的是cdh的jar包运行,应该没问题。理解错了

(0)





fish • 06-27

回复 @kevy: 只要保证编译使用的包跟运行时使用的包一致就可以。

(0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: