Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase, mail # user - Unable to run aggregation using AggregationClient in HBase0.92


Copy link to this message
-
Unable to run aggregation using AggregationClient in HBase0.92
anil gupta 2012-05-07, 18:44
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