You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Arpit Gupta (JIRA)" <ji...@apache.org> on 2013/02/23 01:58:13 UTC

[jira] [Commented] (HBASE-7915) Secure ThriftServer needs to login before calling HBaseHandler

    [ https://issues.apache.org/jira/browse/HBASE-7915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13584905#comment-13584905 ] 

Arpit Gupta commented on HBASE-7915:
------------------------------------

The following exception is thrown

{code}
2013-02-23 00:56:56,157 FATAL org.apache.hadoop.ipc.SecureClient: SASL authentication failed. The most likely cause is missing or invalid credentials. Consider 'kinit'.
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
        at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:194)
        at org.apache.hadoop.hbase.security.HBaseSaslRpcClient.saslConnect(HBaseSaslRpcClient.java:139)
        at org.apache.hadoop.hbase.ipc.SecureClient$SecureConnection.setupSaslConnection(SecureClient.java:194)
        at org.apache.hadoop.hbase.ipc.SecureClient$SecureConnection.access$500(SecureClient.java:92)
        at org.apache.hadoop.hbase.ipc.SecureClient$SecureConnection$2.run(SecureClient.java:302)
        at org.apache.hadoop.hbase.ipc.SecureClient$SecureConnection$2.run(SecureClient.java:299)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1178)
        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.util.Methods.call(Methods.java:37)
        at org.apache.hadoop.hbase.security.User.call(User.java:590)
        at org.apache.hadoop.hbase.security.User.access$3(User.java:588)
        at org.apache.hadoop.hbase.security.User$SecureHadoopUser.runAs(User.java:444)
        at org.apache.hadoop.hbase.ipc.SecureClient$SecureConnection.setupIOstreams(SecureClient.java:298)
        at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1124)
        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:974)
        at org.apache.hadoop.hbase.ipc.SecureRpcEngine$Invoker.invoke(SecureRpcEngine.java:104)
        at $Proxy5.getProtocolVersion(Unknown Source)
        at org.apache.hadoop.hbase.ipc.SecureRpcEngine.getProxy(SecureRpcEngine.java:146)
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:711)
        at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:116)
        at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.<init>(ThriftServerRunner.java:505)
        at org.apache.hadoop.hbase.thrift.ThriftServerRunner.<init>(ThriftServerRunner.java:231)
        at org.apache.hadoop.hbase.thrift.ThriftServer.doMain(ThriftServer.java:89)
        at org.apache.hadoop.hbase.thrift.ThriftServer.main(ThriftServer.java:226)
Caused by: GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)
        at sun.security.jgss.krb5.Krb5InitCredential.getInstance(Krb5InitCredential.java:130)
        at sun.security.jgss.krb5.Krb5MechFactory.getCredentialElement(Krb5MechFactory.java:106)
        at sun.security.jgss.krb5.Krb5MechFactory.getMechanismContext(Krb5MechFactory.java:172)
        at sun.security.jgss.GSSManagerImpl.getMechanismContext(GSSManagerImpl.java:209)
        at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:195)
        at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:162)
        at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:175)
{code}
                
> Secure ThriftServer needs to login before calling HBaseHandler
> --------------------------------------------------------------
>
>                 Key: HBASE-7915
>                 URL: https://issues.apache.org/jira/browse/HBASE-7915
>             Project: HBase
>          Issue Type: Bug
>          Components: security, Thrift
>    Affects Versions: 0.96.0, 0.94.5
>            Reporter: Arpit Gupta
>
> in ThriftServer.java the following call is made
> {code}
> serverRunner = new ThriftServerRunner(conf);
> {code}
> which invokes
> {code}
> public ThriftServerRunner(Configuration conf) throws IOException {
>     this(conf, new ThriftServerRunner.HBaseHandler(conf));
>   }
> {code}
> All of this is happening before the user has logged in and fails

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira