hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arthur Chan <arthur.hk.c...@gmail.com>
Subject Re: HBASE 0.98.11 com.google.protobuf.ServiceException: java.lang.IncompatibleClassChangeError
Date Mon, 06 Apr 2015 02:43:34 GMT
Hi Thanks.

I need to re-compile HBase.  The reason is that protobuf-2.5.0 does not
support IBM PPC platform (Power8)

May I know which HBase version support protobuf-2.6.x?

Regards
Arthur





On Mon, Apr 6, 2015 at 9:18 AM, Esteban Gutierrez <esteban@cloudera.com>
wrote:

> 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