Support Questions
Find answers, ask questions, and share your expertise
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

hbase coprocessor dynamic loading using shell


hbase coprocessor dynamic loading using shell

New Contributor

i'm trying to load a coprocessor dynamically using hbase shell by following below steps

1)disable 'TBL_1'

2)alter 'TBL_1', METHOD => 'table_att', 'Coprocessor'=>'hdfspathofjar|classname|priority'

till this point it is fine updating all regions with new schema

3)enable 'TBL_1' this throwing connection refused due to region servers went down

I have examined the region server logs and found below error

java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "com. pkg.hbase.coprocessor.CounterCoprocessorImpl.getService()Lcom/google/protobuf/Service;" the class loader (instance of org/apache/hadoop/hbase/util/CoprocessorClassLoader) of the current class, com/pkg/hbase/coprocessor/CounterCoprocessorImpl, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for interface org/apache/hadoop/hbase/coprocessor/CoprocessorService have different Class objects for the type com/google/protobuf/Service used in the signature
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(
at java.lang.Class.getConstructor0(
at java.lang.Class.newInstance(
at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadInstance(
at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.load(

can any one help on solving this?

Hbase version:1.1.2

Hdp version-2.6.5

protobuf version:2.5.0

Don't have an account?
Coming from Hortonworks? Activate your account here