Details
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+