You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Naresh Rapolu <nr...@purdue.edu> on 2010/01/02 18:56:09 UTC

problem with transactional client

Hello,

I get the following exception originating at line no 6  of the code snippet 
below.
---------------------------------------------------------
Exception in thread "main" java.lang.UnsupportedOperationException: Unable to 
find region server interface 
org.apache.hadoop.hbase.ipc.TransactionalRegionInterface
        at 
org.apache.hadoop.hbase.client.HConnectionManager$TableServers.<init>(HConnectio
nManager.java:267)
        at 
org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManag
er.java:99)
        at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:68)
        at hbase.TransTableTest.main(TransTableTest.java:50)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: java.lang.ClassNotFoundException: 
org.apache.hadoop.hbase.ipc.TransactionalRegionInterface
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at 
org.apache.hadoop.hbase.client.HConnectionManager$TableServers.<init>(HConnectio
nManager.java:263)

------------------------------------------------------
Error occurs at line 6. of the code below.


1. HBaseConfiguration conf = new HBaseConfiguration();
2. conf.set(HConstants.REGION_SERVER_CLASS, TransactionalRegionInterface.class
                         .getName());
3. conf.set(HConstants.REGION_SERVER_IMPL, TransactionalRegionServer.class
                         .getName());


4. HTableDescriptor desc = new HTableDescriptor("testTable");
5. desc.addFamily(new HColumnDescriptor("testFamily"));
6. HBaseAdmin admin = new HBaseAdmin(conf);
7. admin.createTable(desc);

--------------------------------------------------------

Can I simply use src/contrib/transactional packages during compilation of my 
application code ? 
What other steps are required to use the transactional package ? 

Iam using HBase-0.20.1 over hadoop-0.20.1

Thanks,
Naresh.

Re: problem with transactional client

Posted by stack <st...@duboce.net>.
Make sure the transactional jar is in your CLASSPATH.  Make sure you started
a transactional cluster rather than a straight hbase cluster: see
http://hadoop.apache.org/hbase/docs/r0.20.2/api/org/apache/hadoop/hbase/client/transactional/package-summary.html#package_descriptionif
you haven't already.

St.Ack

On Sat, Jan 2, 2010 at 9:56 AM, Naresh Rapolu <nr...@purdue.edu> wrote:

> Hello,
>
> I get the following exception originating at line no 6  of the code snippet
> below.
> ---------------------------------------------------------
> Exception in thread "main" java.lang.UnsupportedOperationException: Unable
> to
> find region server interface
> org.apache.hadoop.hbase.ipc.TransactionalRegionInterface
>        at
>
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.<init>(HConnectio
> nManager.java:267)
>        at
>
> org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManag
> er.java:99)
>        at
> org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:68)
>        at hbase.TransTableTest.main(TransTableTest.java:50)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
> a:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.hbase.ipc.TransactionalRegionInterface
>        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>        at java.lang.Class.forName0(Native Method)
>        at java.lang.Class.forName(Class.java:169)
>        at
>
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.<init>(HConnectio
> nManager.java:263)
>
> ------------------------------------------------------
> Error occurs at line 6. of the code below.
>
>
> 1. HBaseConfiguration conf = new HBaseConfiguration();
> 2. conf.set(HConstants.REGION_SERVER_CLASS,
> TransactionalRegionInterface.class
>                         .getName());
> 3. conf.set(HConstants.REGION_SERVER_IMPL, TransactionalRegionServer.class
>                         .getName());
>
>
> 4. HTableDescriptor desc = new HTableDescriptor("testTable");
> 5. desc.addFamily(new HColumnDescriptor("testFamily"));
> 6. HBaseAdmin admin = new HBaseAdmin(conf);
> 7. admin.createTable(desc);
>
> --------------------------------------------------------
>
> Can I simply use src/contrib/transactional packages during compilation of
> my
> application code ?
> What other steps are required to use the transactional package ?
>
> Iam using HBase-0.20.1 over hadoop-0.20.1
>
> Thanks,
> Naresh.
>