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

Switch to Threaded View
HBase >> mail # user >> 0.92 client fail to log in when using JNI


Copy link to this message
-
Re: 0.92 client fail to log in when using JNI
CLASSPATH issue?

Says:

unable to find LoginModule class:
org/apache/hadoop/security/UserGroupInformation$HadoopLoginModule
St.Ack

On Thu, Sep 13, 2012 at 8:50 PM, Lu, Wei <[EMAIL PROTECTED]> wrote:
> Hi,
>
> When I use C++ to call 0.92 HBase java APIs, it failed to log in. I tried similar operation by directly using Java Api, and they succeed.
> So, is there any difference between using java api through JNI with directly calling the same java api??
>
> Can anyone help me out? Thank you very much.
>
> Here is the call stack when using jni to call java api:
>
>
> java.lang.RuntimeException: java.io.IOException: failure to login
>                 at org.apache.hadoop.hbase.client.HTableFactory.createHTableInterface(HTableFactory.java:38)
>                 at org.apache.hadoop.hbase.client.HTablePool.createHTable(HTablePool.java:268)
>                 at org.apache.hadoop.hbase.client.HTablePool.findOrCreateTable(HTablePool.java:198)
>                 at org.apache.hadoop.hbase.client.HTablePool.getTable(HTablePool.java:173)
>                 at org.apache.hadoop.hbase.client.HTablePool.getTable(HTablePool.java:216)
>                 at com.microstrategy.database.hbase.HBaseWrapper.Execute(HBaseWrapper.java:151)
> Caused by: java.io.IOException: failure to login
>                 at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:452)
>                 at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:414)
>                 at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                 at java.lang.reflect.Method.invoke(Method.java:597)
>                 at org.apache.hadoop.hbase.util.Methods.call(Methods.java:37)
>                 at org.apache.hadoop.hbase.security.User.call(User.java:586)
>                 at org.apache.hadoop.hbase.security.User.callStatic(User.java:576)
>                 at org.apache.hadoop.hbase.security.User.access$400(User.java:50)
>                 at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:393)
>                 at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:388)
>                 at org.apache.hadoop.hbase.security.User.getCurrent(User.java:139)
>                 at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:280)
>                 at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:332)
>                 at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1278)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1235)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1222)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:918)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:814)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.relocateRegion(HConnectionManager.java:788)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1024)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:818)
>                 at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:782)
>                 at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:249)