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 04:01:43 GMT
Hi Arthur,

> The reason is that protobuf-2.5.0 does not support IBM PPC platform
(Power8)

The protobuf jar is platform independent and you only require the jar at
compile time. Unless you are developing custom filters, then you need to
recompile protoc for Power8.

If you are not developing custom filters that require to generate Java
source files on this platform, I think the easiest way for you is to use
the precompiled binaries.

cheers,
esteban.



--
Cloudera, Inc.


On Sun, Apr 5, 2015 at 7:43 PM, Arthur Chan <arthur.hk.chan@gmail.com>
wrote:

> 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