【发布时间】:2014-11-25 16:36:28
【问题描述】:
这里的 HBase 新手试图获得一个使用 HBase 0.98.6 (CDH 5.2) 的 HBase 0.94.19 版本编写的客户端程序。我已将 HBase 0.98.6 的 jar 添加到此客户端的类路径中。我收到此错误:java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Increment.setWriteToWAL(Z)Lorg/apache/hadoop/hbase/client/Increment。
我在两个版本中都看到了方法签名,确实返回类型有所不同。
0.94 的签名:http://hbase.apache.org/0.94/apidocs/org/apache/hadoop/hbase/client/Increment.html#setWriteToWAL(boolean) [public Increment setWriteToWAL(boolean writeToWAL] 的返回类型为 Increment。
0.98 的签名:http://archive.cloudera.com/cdh5/cdh/5/hbase/apidocs/org/apache/hadoop/hbase/client/Mutation.html#setWriteToWAL(boolean) [public void setWriteToWAL(boolean write)
]
我读到 Hadoop1 和 Hadoop2 是二进制兼容的,但我不确定这是否也扩展到 HBase。那么我可以以任何方式运行它,这样我就不必修改代码或重新编译它了吗?我想不会,但我想听听专家们的意见。
【问题讨论】:
标签: hbase cloudera-cdh