hbase probuf版本不一致问题的解决
2013-11-15 14:06
337 查看
我的环境;
hbase 0.94.11
hadoop 2.2.0
使用官网下载的hadoop和hbase进行安装的时候,hbase会报错:
java.lang.VerifyError: class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AppendRequestProto overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
错误种类有很多种,根据不同的操作回报不同的错,关键词就是 proto;
其实就是lib下有一个jar包版本不一致引起的,protobuf jar包是大名鼎鼎的Google开发的开源包,据说很牛X,但是令人无法理解的是hadoop和hbase这两个依存性特别大的东西竟然在他们的所有版本中使用的probuf版本都不一样,真不明白怎么想的
在hadoop的 $HADOOP_PREFIX/share/hadoop/common/lib下可以找到这个包,版本是protobuf-java-2.5.0.jar
同样我们可以在$HBASE_HOME/lib下找到hbase使用的包,版本是protobuf-java-0.4.0a.jar
问题找到了,只要把hadoop的新版本jar包考到hbase的lib下,替换原来的即可
hbase 0.94.11
hadoop 2.2.0
使用官网下载的hadoop和hbase进行安装的时候,hbase会报错:
java.lang.VerifyError: class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AppendRequestProto overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
错误种类有很多种,根据不同的操作回报不同的错,关键词就是 proto;
其实就是lib下有一个jar包版本不一致引起的,protobuf jar包是大名鼎鼎的Google开发的开源包,据说很牛X,但是令人无法理解的是hadoop和hbase这两个依存性特别大的东西竟然在他们的所有版本中使用的probuf版本都不一样,真不明白怎么想的
在hadoop的 $HADOOP_PREFIX/share/hadoop/common/lib下可以找到这个包,版本是protobuf-java-2.5.0.jar
同样我们可以在$HBASE_HOME/lib下找到hbase使用的包,版本是protobuf-java-0.4.0a.jar
问题找到了,只要把hadoop的新版本jar包考到hbase的lib下,替换原来的即可
相关文章推荐
- 解决MySQL中文乱码以及版本不一致问题
- Java环境变量配置&解决版本不一致问题
- hadoop里需要的libhadoop.so版本不一致导致问题及解决办法
- 解决同时安装多个版本jdk,cmd验证和path不一致的问题
- 使用cxf 关于JAXB2.1和JDK1.6/6.0版本不一致的问题 --已解决
- apt-get upgrade升级后docker客户端和服务器版本不一致问题解决方式。
- PROTOBUF 的错误 也许是GCC版本不对,现在我用的是GCC4.9出现错误。可能要用GCC5才能解决问题
- Java环境变量配置&解决版本不一致问题详解
- JDK 和JRE 解决版本不一致问题
- DotNetNuke(DNN)皮肤制作-通过JS文件解决不同IE版本对CSS解释不一致的问题
- Linux下用环形buf以及POSIX版本信号量解决生产者消费者问题
- 今天解决了一个问题:GDI库版本不一致
- android studio 导入项目Gradle版本不一致问题解决方法【android studio】
- Java环境变量配置&解决版本不一致问题
- 如何解决代码版本不一致的问题
- Indy 编译提示版本不一致问题的解决
- Java环境变量配置&解决版本不一致问题
- HBase中正则过滤表达式与JAVA正则表达式不一致问题的分析和解决
- Java环境变量配置&解决版本不一致问题 (转)
- AndroidManifest文件中的版本号与代码中得到的版本号不一致问题及解决办法