Hi, Cheyenne I noticed something in your class name. It starts with 'org.apache.hadoop.hbase'. If I recall correctly, the coprocessor class loader (which will examine your custom jar) 'exempts' (skips) classes with this prefix. It will go to the parent system class loader. https://issues.apache.org/jira/browse/HBASE-13706 has some background info.
Sorry for your trouble. Jerry On Sat, May 20, 2017 at 11:51 AM, Cheyenne Forbes < [email protected]> wrote: > Has anyone successfully tried to load a coprocessor from hbase shell in > hbase 1.2.5 with "*alter 'TABLE', 'coprocessor' => > 'hdfs://9c0def24f75:9000/hbase/lib/myJar.jar|org. > apache.hadoop.hbase.mypackage.MyCoprocessor|805306366|' > *"? > > Regards, > > Cheyenne O. Forbes > > > On Fri, May 19, 2017 at 7:41 AM, Cheyenne Forbes < > [email protected]> wrote: > > > Are any of those the reason for the class to not be loading? > > > > Regards, > > > > Cheyenne O. Forbes > > > > On Wed, May 17, 2017 at 12:18 PM, Cheyenne Forbes < > > [email protected]> wrote: > > > >> Its in the right path and it contains the class, could one of these be > >> the reason for my error: > >> > >> 1. the observer class and the endpoint class are in the same jar file > >> 2. I viewed the MANIFEST.mf file of the jar and it only contains: > >> > >> * Manifest-Version: 1.0 Created-By: 1.8.0_102 (Oracle > >> Corporation) * > >> > >> > >> Regards, > >> > >> Cheyenne O. Forbes > >> > >> > >> On Wed, May 17, 2017 at 1:56 AM, Jerry He <[email protected]> wrote: > >> > >>> Try to see if you have the right jar in the right path and it contains > >>> your > >>> coprocessor class. > >>> > >>> The code says: > >>> > >>> ... > >>> } catch (ClassNotFoundException e) { > >>> throw new IOException("Class " + attr.getClassName() + " cannot > >>> be > >>> loaded", e); > >>> > >>> > >>> Thanks. > >>> > >>> Jerry > >>> > >>> On Tue, May 16, 2017 at 6:49 PM, Cheyenne Forbes < > >>> [email protected]> wrote: > >>> > >>> > Why when I run: > >>> > > >>> > > >>> > > >>> > *alter 'USERS', 'coprocessor' => > >>> > 'hdfs://9c0def24f75:9000/hbase/lib/myJar.jar|org. > >>> > apache.hadoop.hbase.mypackage.MyCoprocessor|805306366|' > >>> > *I get: > >>> > > >>> > *ERROR: org.apache.hadoop.hbase.DoNotRetryIOException: Class > >>> > org.apache.hadoop.hbase.* > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > *mypackage.MyCoprocessor cannot be loaded Set > >>> hbase.table.sanity.checks to > >>> > false at conf or table descriptor if you want to bypass sanity checks > >>> at > >>> > org.apache.hadoop.hbase.master.HMaster. > warnOrThrowExceptionForFailure > >>> > (HMaster.java:1754) > >>> > at > >>> > org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor( > >>> > HMaster.java:1615) > >>> > at org.apache.hadoop.hbase.master.HMaster.modifyTable(HMaster.j > >>> ava:2142) > >>> > at > >>> > org.apache.hadoop.hbase.master.MasterRpcServices. > >>> > modifyTable(MasterRpcServices.java:1171) > >>> > at > >>> > org.apache.hadoop.hbase.protobuf.generated.MasterProtos$Mast > >>> erService$2. > >>> > callBlockingMethod(MasterProtos.java:55680) > >>> > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2188) > >>> at > >>> > org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at > >>> > org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExec > >>> utor.java:133) > >>> > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor. > java:108) > >>> > at java.lang.Thread.run(Thread.java:745)* > >>> > > >>> > Regards, > >>> > > >>> > Cheyenne O. Forbes > >>> > > >>> > >> > >> > > >
