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

来源:互联网 发布:深圳软件测试培训 编辑:程序博客网 时间:2024/05/21 22:56
链接: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)



0 0