Uploaded image for project: 'CDH (READ-ONLY)'
  1. CDH (READ-ONLY)
  2. DISTRO-744

Impala/Hive JDBC Connector driver doesn't work with Kerberos on IBM JVM

    Details

    • Type: Bug
    • Status: Open
    • Priority: Blocker
    • Resolution: Unresolved
    • Affects Version/s: CDH 5.4.4
    • Fix Version/s: None
    • Component/s: Hive
    • Labels:

      Description

      We are using Impala JDBC Connector driver, from:
      http://www.cloudera.com/content/cloudera/en/downloads/connectors/impala/jdbc/impala-jdbc-v2-5-5.html

      We are running on IBM JVM.
      We want to connect to Impala with KERBEROS auth. But we are getting error:

      • java.lang.NoClassDefFoundError: com.sun.security.auth.module.Krb5LoginModule* at com.cloudera.impala.hivecommon.api.KerberosAuthenticationHelper.getAppConfigurationEntry(KerberosAuthenticationHelper.java:54)
        at javax.security.auth.login.LoginContext.init(LoginContext.java:267)
        at javax.security.auth.login.LoginContext.<init>(LoginContext.java:530)
        at com.cloudera.impala.hivecommon.api.HiveServer2ClientFactory.createTransport(HiveServer2ClientFactory.java:108)
        at com.cloudera.impala.hivecommon.api.HiveServer2ClientFactory.createClient(HiveServer2ClientFactory.java:52)
        at com.cloudera.impala.hivecommon.core.HiveJDBCConnection.connect(HiveJDBCConnection.java:597)
        at com.cloudera.impala.jdbc.common.BaseConnectionFactory.doConnect(BaseConnectionFactory.java:219)
        at com.cloudera.impala.jdbc.common.AbstractDriver.connect(AbstractDriver.java:216)
        at com.ibm.nz.fq.utils.HadoopJDBC$JDBCConnector.run(HadoopJDBC.java:45)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:761)
        Caused by: java.lang.ClassNotFoundException: com.sun.security.auth.module.Krb5LoginModule
        at java.net.URLClassLoader.findClass(URLClassLoader.java:434)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:677)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
        ... 12 more

      +KerberosAuthenticationHelper class from driver has hardcoded reference to com.sun.security.auth.module.Krb5LoginModule available only on Sun/Oracle JVM.

      On IBM JVM it should be: com.ibm.security.auth.module.Krb5LoginModule+

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              niezgoda Pawel Niezgoda
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: