org.apache.hadoop.hbase.ipc.HBaseRPC$UnknownProtocolException: means the coprocessor is not registered.
You should read https://blogs.apache.org/hbase/entry/coprocessor_introduction, especially the deployment section. Thanks, Himanshu On Mon, May 7, 2012 at 12:44 PM, anil gupta <[email protected]> wrote: > Hi All, > > I am using cdh4b1 which has HBase 0.92.0 in a standalone installation on > CentOS6.0. My objective was to check out the feature of aggregation in > HBase via coprocessors. So, i decided to test doing sum of column which > store double value. > I went through the > https://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestAggregateProtocol.javaclass > to develop my understanding. > Here is the pastebin link for simple java code i wrote: > http://pastebin.com/xE4UWWvN > > I keep on getting following error when i run the "* > com.intuit.ihub.hbase.poc.aggregation.TransactionAmountSum.doAggregation("10047095","10047096","transactions") > *" on hbase shell: > > org.apache.hadoop.hbase.ipc.HBaseRPC$UnknownProtocolException: > org.apache.hadoop.hbase.ipc.HBaseRPC$UnknownProtocolException: No matching > handler for protocol org.apache.hadoop.hbase.coprocessor.AggregateProtocol > in region transactions,,1335223974116.e9190687f8a74b5083b39b6e5bd55705. > at org.apache.hadoop.hbase.regionserver.HRegion.exec(HRegion.java:4023) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.execCoprocessor(HRegionServer.java:3116) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364) > at > org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:96) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.translateException(HConnectionManager.java:1652) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:1328) > at > org.apache.hadoop.hbase.ipc.ExecRPCInvoker.invoke(ExecRPCInvoker.java:79) > at $Proxy13.getRowNum(Unknown Source) > at > org.apache.hadoop.hbase.client.coprocessor.AggregationClient$3.call(AggregationClient.java:197) > at > org.apache.hadoop.hbase.client.coprocessor.AggregationClient$3.call(AggregationClient.java:194) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$4.call(HConnectionManager.java:1454) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > > > Similar to the hbase test case i am also setting the conf in my code but it > doesn't seem to work. I am trying out coprocessor for the first time. Can > anyone tell me what is missing/wrong over here? > > Thanks for your help > ~Anil Gupta
