hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stack <st...@duboce.net>
Subject Re: what is the role of ProtoBuffer while creating of instance of Table/Htable
Date Tue, 05 Dec 2017 18:00:00 GMT
On Mon, Dec 4, 2017 at 10:10 PM, Manjeet Singh <manjeet.chandhok@gmail.com>
wrote:

> Thanks for your reply, I have two different projects which took records
> from Hbase
> 1 Project is spark job and using solr for free text search -Here we are
> using ProtoBuff
> 2 Project is for pointed access (where I know exact rowkey)- Here we are
> not using ProtoBuff and we are getting Exception here on creation of Table
> object.
>
> In both case we are using Hbase Native API if Hbase internally using
> protobuff 2.5.0 so why my project 1 is working fine this question is comes
> to my mind
>
>
Because order of protobuf jars is different between the two usages?
St.Ack




> Thanks
> Manjeet Singh
>
> ---------- Forwarded message ----------
> From: Stack <stack@duboce.net>
> Date: Tue, Dec 5, 2017 at 3:36 AM
> Subject: Re: what is the role of ProtoBuffer while creating of instance of
> Table/Htable
> To: Hbase-User <user@hbase.apache.org>
>
>
> HBase uses pb2.5.0. Is it an incompatibility between 2.4.1 and 2.5.0 pb? If
> you look at classpath, is your projects 2.4.1 pb jar coming ahead of the
> hbase pb jar?
> Thanks,
> S
>
> On Sun, Dec 3, 2017 at 10:52 AM, Manjeet Singh <manjeet.chandhok@gmail.com
> >
> wrote:
>
> > Hi All,
> >
> > I am facing one issue where I have two different DAL in one project i.e.
> > 1. DAL simply build using java and Native API.
> > 2. Spark Job using Java and Native API. (Also using protocol buffer in
> this
> > project)
> >
> > In our Project the second one is having ( the spark job one)
> implementation
> > of searching using solr here we are using protocol buffere for some
> > different business needs.
> > In First it was simple java native code were we are accessing Hbase using
> > simple Get by passing Rowkey.
> >
> > These project also work fine if I run these two sepratlly but when I
> > clube thse with from one UI and try to execute our use cases I got below
> > exception
> >
> > It's clear that its something about protocol buffer...
> >
> > We have compiled classes of protocol buffer using below dependecies
> >
> >
> >         <dependency>
> > <groupId>com.google.protobuf</groupId>
> > <artifactId>protobuf-java</artifactId>
> > <version>2.4.1</version>
> > <scope>provided</scope>
> > </dependency>
> >
> >
> >
> >
> > Hbase :-
> >
> > <dependency>
> > <groupId>org.apache.hbase</groupId>
> > <artifactId>hbase-client</artifactId>
> > <version>1.2.0-cdh5.8.0</version>
> > <scope>compile</scope>
> > <exclusions>
> > <exclusion>
> > <artifactId>jdk.tools</artifactId>
> > <groupId>jdk.tools</groupId>
> > </exclusion>
> > </exclusions>
> > </dependency>
> >
> >
> > java.io.IOException: java.lang.reflect.InvocationTargetException
> > at
> > org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(
> > ConnectionFactory.java:240)
> > at
> > org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(
> > ConnectionFactory.java:218)
> > at
> > org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(
> > ConnectionFactory.java:119)
> > Caused by: java.lang.reflect.InvocationTargetException
> > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > at
> > sun.reflect.NativeConstructorAccessorImpl.newInstance(
> > NativeConstructorAccessorImpl.java:62)
> > at
> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> > DelegatingConstructorAccessorImpl.java:45)
> > at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> > at
> > org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(
> > ConnectionFactory.java:238)
> > ... 15 more
> > Caused by: java.lang.VerifyError: class
> > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides
> > final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
> > at java.lang.ClassLoader.defineClass1(Native Method)
> > at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
> > at java.security.SecureClassLoader.defineClass(
> SecureClassLoader.java:142)
> > at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
> > at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
> > at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
> > at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> > at
> > org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>
> > (ProtobufUtil.java:210)
> > at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64)
> > at
> > org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(
> > ZKClusterId.java:75)
> > at
> > org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(
> > ZooKeeperRegistry.java:105)
> > at
> > org.apache.hadoop.hbase.client.ConnectionManager$
> > HConnectionImplementation.retrieveClusterId(ConnectionManager.java:919)
> > at
> > org.apache.hadoop.hbase.client.ConnectionManager$
> > HConnectionImplementation.<init>(ConnectionManager.java:657)
> > ... 20 more
> >
> >
> > Can anyone help me to fix this issue using protobuff 2.4.1 version only
> >
> > Thanks
> > Manjeet Singh
> >
>
>
>
> --
> luv all
>

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