(Hive)org.apache.hadoop.hbase.client.Put.setDurability(Lorg/apache/hadoophbase/client/Durability;)V
博主在建hive和hbase共存表的时候,进行插入数据到hive,结果报错(Hive)org.apache.hadoop.hbase.client.Put.setDurability(Lorg/apache/hadoophbase/client/Durability;)V
找了很久原因,最后发现是hive和hbase版本兼容问题。
rror: java.lang.RuntimeException: java.lang.NoSuchMethodError:
org.apache.hadoop.hbase.client.Put.setDurability(Lorg/apache/hadoophbase/client/Durability;)V
这个错很坑!!
1、原因是Hive 和hbase的版本有问题,如果你的hive是2.x的那么你的hbase 最好是1.x的,这样整合不会有问题。
2、如果你的hive 是1.x的,那么你的hbase最好是0.98或者0.98以下的。
3、如果你的hive是1.x的,hbase是1.x 那么你的$HIVE_HOME/lib里面的hive-hbase-handler.jar文件需要重新编译。
4、如果你的hbase版本是2.x的,你又需要整合hbase和hive,最好将hbase版本降到1.x。
5、在hive当中换更高级别的hive-hbase-handler.jar可以试试,我hive1.2.1,hbase1.3.1,原生hive的hive-hbase-handler.jar版本是1.2.1,我换了一个2.0.1版本试试,结果运行插入语句成功了。
原链接