|
|
-
0.92 client fail to log in when using JNI
Lu, Wei 2012-09-14, 03:50
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) at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:213) at org.apache.hadoop.hbase.client.HTableFactory.createHTableInterface(HTableFactory.java:36) ... 5 more Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: org/apache/hadoop/security/UserGroupInformation$HadoopLoginModule at javax.security.auth.login.LoginContext.invoke(LoginContext.java:808) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) at javax.security.auth.login.LoginContext$5.run(LoginContext.java:706) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokeCreatorPriv(LoginContext.java:703) at javax.security.auth.login.LoginContext.login(LoginContext.java:575) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:433) ... 31 more
-
Re: 0.92 client fail to log in when using JNI
Stack 2012-09-14, 04:30
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)
|
|
All projects made searchable here are trademarks of the Apache Software Foundation.
Service operated by
Sematext