Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> Unable to add co-processor to table through HBase api


Copy link to this message
-
RE: Unable to add co-processor to table through HBase api
I can attach the code that I tried.  Here as the HTD is getting modified we
may need to call modifyTable().
My testclass did try this while doing creation of table itself.

I will attach shortly.

Regards
Ram

> -----Original Message-----
> From: anil gupta [mailto:[EMAIL PROTECTED]]
> Sent: Friday, October 19, 2012 10:29 AM
> To: [EMAIL PROTECTED]
> Subject: Re: Unable to add co-processor to table through HBase api
>
> Hi Anoop,
>
> Sorry, i am unable to understand what you mean by "have to modify the
> table
> calling Admin API??". Am i missing some other calls in my code?
>
> Thanks,
> Anil Gupta
>
> On Thu, Oct 18, 2012 at 9:43 PM, Anoop Sam John <[EMAIL PROTECTED]>
> wrote:
>
> >
> >
> >
> >hAdmin.getTableDescriptor(Bytes.toBytes(tableName)).addCoprocessor(cla
> ssName,
> >               new Path("hdfs://hbasecluster/tmp/hbase_cdh4.jar"),
> > Coprocessor.PRIORITY_USER,map);
> >
> > Anil,
> >
> > Don't you have to modify the table calling Admin API??  !!!!!  Not
> seeing
> > that code here...
> >
> > -Anoop-
> >
> > ________________________________________
> > From: anil gupta [[EMAIL PROTECTED]]
> > Sent: Friday, October 19, 2012 2:46 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: Unable to add co-processor to table through HBase api
> >
> > Hi Folks,
> >
> > Still, i am unable to add the co-processors through HBase client api.
> This
> > time i tried loading the coprocessor by providing the jar path along
> with
> > parameters. But, it failed.
> > I was able to add the same coprocessor to the table through HBase
> shell.
> > I also dont see any logs regarding adding coprocessors in
> regionservers
> > when i try to add the co-processor through api.I strongly feel that
> HBase
> > client api for adding coprocessor seems to be broken. Please let me
> know if
> > the code below seems to be problematic.
> >
> > Here is the code i used to add the coprocessor through HBase api:
> >     private static void modifyTable() throws IOException
> >     {
> >     Configuration conf = HBaseConfiguration.create();
> >     HBaseAdmin hAdmin = new HBaseAdmin(conf);
> >     String tableName = "txn";
> >     hAdmin.disableTable(tableName);
> >     if(!hAdmin.isTableEnabled(tableName))
> >     {
> >       System.out.println("Trying to add coproc to table"); // using
> err so
> > that it's easy to read this on eclipse console.
> >       HashMap<String, String> map = new HashMap<String,String>();
> >       map.put("arg1", "batchdate");
> >       String className > >
> "com.intuit.ihub.hbase.poc.coprocessor.observer.IhubTxnRegionObserver";
> >
> >
> >
> hAdmin.getTableDescriptor(Bytes.toBytes(tableName)).addCoprocessor(clas
> sName,
> >               new Path("hdfs://hbasecluster/tmp/hbase_cdh4.jar"),
> > Coprocessor.PRIORITY_USER,map);
> >
> >       if(
> >
> >
> hAdmin.getTableDescriptor(Bytes.toBytes(tableName)).hasCoprocessor(clas
> sName)
> >               )
> >       {
> >         System.err.println("YIPPPPPPPPPIEEEEE!!!!!!!");
> >       }
> >       hAdmin.enableTable(tableName);
> >
> >     }
> >     hAdmin.close();
> >    }
> >
> > Thanks,
> > Anil Gupta
> >
> > On Wed, Oct 17, 2012 at 9:27 PM, Ramkrishna.S.Vasudevan <
> > [EMAIL PROTECTED]> wrote:
> >
> > > Do let me know if you are stuck up.  May be I did not get your
> actual
> > > problem.
> > >
> > > All the best.
> > >
> > > Regards
> > > Ram
> > >
> > > > -----Original Message-----
> > > > From: anil gupta [mailto:[EMAIL PROTECTED]]
> > > > Sent: Wednesday, October 17, 2012 11:34 PM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Re: Unable to add co-processor to table through HBase
> api
> > > >
> > > > Hi Ram,
> > > >
> > > > The table exists and I don't get any error while running the
> program(i
> > > > would get an error if the table did not exist). I am running a
> > > > distributed
> > > > cluster.
> > > >
> > > > Tried following additional ways also:
> > > >
> > > >    1. I tried loading the AggregationImplementation coproc.
> > > >    2. I also tried adding the coprocs while the table is enabled.
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB