javax.security.sasl.SaslException: Failed to open client transport [Caused by java.io.IOException: Could not instantiate SASL transport]

Apache's JIRA Issue Tracker | Yu Gao | 3 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    Hive Kerberos authentication has been enabled in my cluster. I ran kinit to initialize the current login user's ticket cache successfully, and then tried to use beeline to connect to Hive Server2, but failed. After I manually added some logging to catch the failure exception, this is what I got that caused the failure: beeline> !connect jdbc:hive2://<hiveserver.host>:10000/default;principal=hive/<hiveserver.host>@REALM.COM org.apache.hive.jdbc.HiveDriver scan complete in 2ms Connecting to jdbc:hive2://<hiveserver.host>:10000/default;principal=hive/<hiveserver.host>@REALM.COM Enter password for jdbc:hive2://<hiveserver.host>:10000/default;principal=hive/<hiveserver.host>@REALM.COM: 14/07/17 15:12:45 ERROR jdbc.HiveConnection: Failed to open client transport javax.security.sasl.SaslException: Failed to open client transport [Caused by java.io.IOException: Could not instantiate SASL transport] at org.apache.hive.service.auth.KerberosSaslHelper.getKerberosTransport(KerberosSaslHelper.java:78) at org.apache.hive.jdbc.HiveConnection.createBinaryTransport(HiveConnection.java:342) at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:200) at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:178) at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:198) at org.apache.hive.beeline.DatabaseConnection.connect(DatabaseConnection.java:145) at org.apache.hive.beeline.DatabaseConnection.getConnection(DatabaseConnection.java:186) at org.apache.hive.beeline.Commands.connect(Commands.java:959) at org.apache.hive.beeline.Commands.connect(Commands.java:880) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:619) at org.apache.hive.beeline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:44) at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:801) at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:659) at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:368) at org.apache.hive.beeline.BeeLine.main(BeeLine.java:351) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:619) at org.apache.hadoop.util.RunJar.main(RunJar.java:212) Caused by: java.io.IOException: Could not instantiate SASL transport at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Client.createClientTransport(HadoopThriftAuthBridge20S.java:177) at org.apache.hive.service.auth.KerberosSaslHelper.getKerberosTransport(KerberosSaslHelper.java:74) ... 24 more Caused by: javax.security.sasl.SaslException: Failure to initialize security context [Caused by org.ietf.jgss.GSSException, major code: 13, minor code: 0 major string: Invalid credentials minor string: SubjectCredFinder: no JAAS Subject] at com.ibm.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:131) at com.ibm.security.sasl.gsskerb.FactoryImpl.createSaslClient(FactoryImpl.java:53) at javax.security.sasl.Sasl.createSaslClient(Sasl.java:362) at org.apache.thrift.transport.TSaslClientTransport.<init>(TSaslClientTransport.java:72) at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Client.createClientTransport(HadoopThriftAuthBridge20S.java:169) ... 25 more Caused by: org.ietf.jgss.GSSException, major code: 13, minor code: 0 major string: Invalid credentials minor string: SubjectCredFinder: no JAAS Subject at com.ibm.security.jgss.i18n.I18NException.throwGSSException(I18NException.java:83) at com.ibm.security.jgss.mech.krb5.Krb5Credential$SubjectCredFinder.run(Krb5Credential.java:1126) at java.security.AccessController.doPrivileged(AccessController.java:330) at com.ibm.security.jgss.mech.krb5.Krb5Credential.getClientCredsFromSubject(Krb5Credential.java:816) at com.ibm.security.jgss.mech.krb5.Krb5Credential.getCredentials(Krb5Credential.java:388) at com.ibm.security.jgss.mech.krb5.Krb5Credential.init(Krb5Credential.java:196) at com.ibm.security.jgss.mech.krb5.Krb5Credential.<init>(Krb5Credential.java:168) at com.ibm.security.jgss.mech.krb5.Krb5MechFactory.getCredentialElement(Krb5MechFactory.java:123) at com.ibm.security.jgss.GSSManagerImpl.createMechCredential(GSSManagerImpl.java:294) at com.ibm.security.jgss.GSSCredentialImpl.add(GSSCredentialImpl.java:137) at com.ibm.security.jgss.GSSCredentialImpl.<init>(GSSCredentialImpl.java:69) at com.ibm.security.jgss.GSSManagerImpl.createCredential(GSSManagerImpl.java:169) at com.ibm.security.jgss.GSSContextImpl.init(GSSContextImpl.java:157) at com.ibm.security.jgss.GSSContextImpl.<init>(GSSContextImpl.java:102) at com.ibm.security.jgss.GSSManagerImpl.createContext(GSSManagerImpl.java:183) at com.ibm.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:110) ... 29 more Error: Invalid URL: jdbc:hive2://<hiveserver.host>:10000/default;principal=hive/<hiveserver.host>@REALM.COM (state=08S01,code=0)

    Apache's JIRA Issue Tracker | 3 years ago | Yu Gao
    javax.security.sasl.SaslException: Failed to open client transport [Caused by java.io.IOException: Could not instantiate SASL transport]

    1 unregistered visitors

    Root Cause Analysis

    1. javax.security.sasl.SaslException

      Failure to initialize security context [Caused by org.ietf.jgss.GSSException, major code: 13, minor code: 0 major string: Invalid credentials minor string: SubjectCredFinder: no JAAS Subject]

      at com.ibm.security.sasl.gsskerb.GssKrb5Client.<init>()
    2. com.ibm.security
      FactoryImpl.createSaslClient
      1. com.ibm.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:131)
      2. com.ibm.security.sasl.gsskerb.FactoryImpl.createSaslClient(FactoryImpl.java:53)
      2 frames
    3. Java RT
      Sasl.createSaslClient
      1. javax.security.sasl.Sasl.createSaslClient(Sasl.java:362)
      1 frame
    4. Apache Thrift
      TSaslClientTransport.<init>
      1. org.apache.thrift.transport.TSaslClientTransport.<init>(TSaslClientTransport.java:72)
      1 frame
    5. Hive Shims
      HadoopThriftAuthBridge20S$Client.createClientTransport
      1. org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Client.createClientTransport(HadoopThriftAuthBridge20S.java:169)
      1 frame
    6. org.apache.hive
      HiveDriver.connect
      1. org.apache.hive.service.auth.KerberosSaslHelper.getKerberosTransport(KerberosSaslHelper.java:74)
      2. org.apache.hive.jdbc.HiveConnection.createBinaryTransport(HiveConnection.java:342)
      3. org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:200)
      4. org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:178)
      5. org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
      5 frames
    7. Java RT
      DriverManager.getConnection
      1. java.sql.DriverManager.getConnection(DriverManager.java:582)
      2. java.sql.DriverManager.getConnection(DriverManager.java:198)
      2 frames
    8. org.apache.hive
      Commands.connect
      1. org.apache.hive.beeline.DatabaseConnection.connect(DatabaseConnection.java:145)
      2. org.apache.hive.beeline.DatabaseConnection.getConnection(DatabaseConnection.java:186)
      3. org.apache.hive.beeline.Commands.connect(Commands.java:959)
      4. org.apache.hive.beeline.Commands.connect(Commands.java:880)
      4 frames
    9. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
      4. java.lang.reflect.Method.invoke(Method.java:619)
      4 frames
    10. org.apache.hive
      BeeLine.main
      1. org.apache.hive.beeline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:44)
      2. org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:801)
      3. org.apache.hive.beeline.BeeLine.begin(BeeLine.java:659)
      4. org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:368)
      5. org.apache.hive.beeline.BeeLine.main(BeeLine.java:351)
      5 frames
    11. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
      4. java.lang.reflect.Method.invoke(Method.java:619)
      4 frames
    12. Hadoop
      RunJar.main
      1. org.apache.hadoop.util.RunJar.main(RunJar.java:212)
      1 frame