Hello Arthur, Are you using the official binaries from HBase 0.98.11 from http://www.apache.org/dyn/closer.cgi/hbase/ or have you compiled HBase 0.98.11 by yourself? If you use the precompiled binaries for HBase 0.98.11 we already include the right version from protobuf:
$ tar ztvf hbase-0.98.11-hadoop2-bin.tar.gz | grep protobuf-java-2.5.0.jar -rw-r--r-- 0 apurtell apurtell 533455 Jan 23 15:18 hbase-0.98.11-hadoop2/lib/protobuf-java-2.5.0.jar However if you need to re-compile HBase for any reason, you need to use protobuf 2.5 instead. Also, having another version of protobuf in your classpath, e.g. protobuf-java-2.6.0.jar that might be causing this problem. cheers, esteban. -- Cloudera, Inc. On Sun, Apr 5, 2015 at 6:00 PM, Arthur Chan <[email protected]> wrote: > Ohh, > > I think I need to install protocbuf to each node. > > Doing it now, > > > On Mon, Apr 6, 2015 at 8:23 AM, Arthur Chan <[email protected]> > wrote: > > > Hi, > > > > I got the following error when try to start HBASE > > > > my version: > > HBASE: 0.98.11 > > HADOOP: 2.6.0 > > ZOOKEEPER: 3.4.6 > > PROTOC --version: libprotoc 2.6.1 > > OS: CentOS 7 > > JAVA: java version "1.8.0_40" > > > > The HMASTER is gone after few seconds, all HRegionServers are still > there. > > > > 2015-04-06 08:09:03,432 INFO [Thread-15] retry.RetryInvocationHandler: > > Exception while invoking addBlock of class > > ClientNamenodeProtocolTranslatorPB over 192.168.10.31:8020. Trying to > > fail over immediately. > > > > java.io.IOException: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > Please help!! > > Regards > > Arthur > > > > > > > > > > (attached the log of HMASTER as follows) > > > > 2015-04-06 08:09:02,752 INFO [main] zookeeper.RecoverableZooKeeper: Node > > /hbase already exists and this is not a retry > > > > 2015-04-06 08:09:02,765 INFO [RpcServer.responder] ipc.RpcServer: > > RpcServer.responder: starting > > > > 2015-04-06 08:09:02,765 INFO [RpcServer.listener,port=60000] > > ipc.RpcServer: RpcServer.listener,port=60000: starting > > > > 2015-04-06 08:09:02,795 INFO [master:m1031:60000] mortbay.log: Logging > to > > org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via > > org.mortbay.log.Slf4jLog > > > > 2015-04-06 08:09:02,820 INFO [master:m1031:60000] http.HttpServer: Added > > global filter 'safety' > > (class=org.apache.hadoop.http.HttpServer$QuotingInputFilter) > > > > 2015-04-06 08:09:02,821 INFO [master:m1031:60000] http.HttpServer: Added > > filter static_user_filter > > (class=org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter) > to > > context master > > > > 2015-04-06 08:09:02,822 INFO [master:m1031:60000] http.HttpServer: Added > > filter static_user_filter > > (class=org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter) > to > > context static > > > > 2015-04-06 08:09:02,827 INFO [master:m1031:60000] http.HttpServer: Jetty > > bound to port 60010 > > > > 2015-04-06 08:09:02,827 INFO [master:m1031:60000] mortbay.log: > > jetty-6.1.26 > > > > 2015-04-06 08:09:03,099 INFO [master:m1031:60000] mortbay.log: Started > > [email protected]:60010 > > > > 2015-04-06 08:09:03,197 DEBUG [main-EventThread] > > master.ActiveMasterManager: A master is now available > > > > 2015-04-06 08:09:03,197 INFO [master:m1031:60000] > > master.ActiveMasterManager: Registered Active > > Master=m1031,60000,1428278941667 > > > > 2015-04-06 08:09:03,202 INFO [master:m1031:60000] > > Configuration.deprecation: fs.default.name is deprecated. Instead, use > > fs.defaultFS > > > > 2015-04-06 08:09:03,432 INFO [Thread-15] retry.RetryInvocationHandler: > > Exception while invoking addBlock of class > > ClientNamenodeProtocolTranslatorPB over m1031/192.168.10.31:8020. Trying > > to fail over immediately. > > > > java.io.IOException: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.ipc.ProtobufHelper.getRemoteException(ProtobufHelper.java:47) > > > > at > > > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:401) > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > > at java.lang.reflect.Method.invoke(Method.java:497) > > > > at > > > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187) > > > > at > > > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) > > > > at com.sun.proxy.$Proxy16.addBlock(Unknown Source) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:1532) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1349) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:588) > > > > Caused by: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:246) > > > > at com.sun.proxy.$Proxy15.addBlock(Unknown Source) > > > > at > > > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:399) > > > > ... 10 more > > > > Caused by: java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AddBlockRequestProto.getSerializedSize(ClientNamenodeProtocolProtos.java:13584) > > > > at > > > com.google.protobuf.AbstractMessageLite.writeDelimitedTo(AbstractMessageLite.java:84) > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$RpcMessageWithHeader.write(ProtobufRpcEngine.java:335) > > > > at > org.apache.hadoop.ipc.Client$Connection.sendRpcRequest(Client.java:1011) > > > > at org.apache.hadoop.ipc.Client.call(Client.java:1441) > > > > at org.apache.hadoop.ipc.Client.call(Client.java:1399) > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232) > > > > ... 12 more > > > > 2015-04-06 08:09:03,436 INFO [Thread-15] retry.RetryInvocationHandler: > > Exception while invoking addBlock of class > > ClientNamenodeProtocolTranslatorPB over m1032/192.168.10.32:8020 after 1 > > fail over attempts. Trying to fail over immediately. > > > > java.io.IOException: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.ipc.ProtobufHelper.getRemoteException(ProtobufHelper.java:47) > > > > at > > > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:401) > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > > at java.lang.reflect.Method.invoke(Method.java:497) > > > > at > > > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187) > > > > at > > > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) > > > > at com.sun.proxy.$Proxy16.addBlock(Unknown Source) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:1532) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1349) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:588) > > > > Caused by: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:246) > > > > at com.sun.proxy.$Proxy15.addBlock(Unknown Source) > > > > at > > > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:399) > > > > ... 10 more > > > > Caused by: java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AddBlockRequestProto.getSerializedSize(ClientNamenodeProtocolProtos.java:13584) > > > > at > > > com.google.protobuf.AbstractMessageLite.writeDelimitedTo(AbstractMessageLite.java:84) > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$RpcMessageWithHeader.write(ProtobufRpcEngine.java:335) > > > > at > org.apache.hadoop.ipc.Client$Connection.sendRpcRequest(Client.java:1011) > > > > at org.apache.hadoop.ipc.Client.call(Client.java:1441) > > > > at org.apache.hadoop.ipc.Client.call(Client.java:1399) > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232) > > > > ... 12 more > > > > 2015-04-06 08:09:03,437 INFO [Thread-15] retry.RetryInvocationHandler: > > Exception while invoking addBlock of class > > ClientNamenodeProtocolTranslatorPB over m1031/192.168.10.31:8020 after 2 > > fail over attempts. Trying to fail over immediately. > > > > java.io.IOException: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.ipc.ProtobufHelper.getRemoteException(ProtobufHelper.java:47) > > > > at > > > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:401) > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > > at java.lang.reflect.Method.invoke(Method.java:497) > > > > at > > > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187) > > > > at > > > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) > > > > at com.sun.proxy.$Proxy16.addBlock(Unknown Source) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:1532) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1349) > > > > at > > > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:588) > > > > Caused by: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:246) > > > > at com.sun.proxy.$Proxy15.addBlock(Unknown Source) > > > > at > > > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:399) > > > > ... 10 more > > > > Caused by: java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > > > at > > > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AddBlockRequestProto.getSerializedSize(ClientNamenodeProtocolProtos.java:13584) > > > > at > > > com.google.protobuf.AbstractMessageLite.writeDelimitedTo(AbstractMessageLite.java:84) > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$RpcMessageWithHeader.write(ProtobufRpcEngine.java:335) > > > > at > org.apache.hadoop.ipc.Client$Connection.sendRpcRequest(Client.java:1011) > > > > at org.apache.hadoop.ipc.Client.call(Client.java:1441) > > > > at org.apache.hadoop.ipc.Client.call(Client.java:1399) > > > > at > > > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232) > > > > ... 12 more > > > > 2015-04-06 08:09:03,441 INFO [Thread-15] retry.RetryInvocationHandler: > > Exception while invoking addBlock of class > > ClientNamenodeProtocolTranslatorPB over m1032/192.168.10.32:8020 after 3 > > fail over attempts. Trying to fail over immediately. > > > > java.io.IOException: com.google.protobuf.ServiceException: > > java.lang.IncompatibleClassChangeError: Class > > com.google.protobuf.UnmodifiableLazyStringList does not implement the > > requested interface com.google.protobuf.ProtocolStringList > > >
