hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Esteban Gutierrez <este...@cloudera.com>
Subject Re: HBASE 0.98.11 com.google.protobuf.ServiceException: java.lang.IncompatibleClassChangeError
Date Mon, 06 Apr 2015 01:18:31 GMT
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 <arthur.hk.chan@gmail.com>
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 <arthur.hk.chan@gmail.com>
> 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
> > HttpServer$SelectChannelConnectorWithSafeStartup@0.0.0.0: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
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message