Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.15.0, 1.16.0
-
None
Description
drill-override.conf content:
drill.exec: { cluster-id: "drillbits1", zk.connect: "localhost:2181", impersonation: { enabled: true, max_chained_user_hops: 3 }, security.user.auth: { enabled: false, packages += "org.apache.drill.exec.rpc.user.security", impl: "pam", pam_profiles: [ "sudo", "login" ] } }
Note that authentication is disabled enabled: false.
Drill fails during start up:
DRILL_ARGS - " -u jdbc:drill:zk=local" Calculating HADOOP_CLASSPATH ... HBASE_HOME not detected... Calculating Drill classpath... Error: Failure in starting embedded Drillbit: org.apache.drill.exec.exception.DrillbitStartupException: Problem in finding the native library of JPAM (Pluggable Authenticator Module API). Make sure to set Drillbit JVM option 'java.library.path' to point to the directory where the native JPAM exists.:no jpam in java.library.path (state=,code=0) java.sql.SQLException: Failure in starting embedded Drillbit: org.apache.drill.exec.exception.DrillbitStartupException: Problem in finding the native library of JPAM (Pluggable Authenticator Module API). Make sure to set Drillbit JVM option 'java.library.path' to point to the directory where the native JPAM exists.:no jpam in java.library.path at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:143) at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67) at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67) at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) at org.apache.drill.jdbc.Driver.connect(Driver.java:72) at sqlline.DatabaseConnection.connect(DatabaseConnection.java:130) at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:179) at sqlline.Commands.connect(Commands.java:1278) at sqlline.Commands.connect(Commands.java:1172) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38) at sqlline.SqlLine.dispatch(SqlLine.java:736) at sqlline.SqlLine.initArgs(SqlLine.java:428) at sqlline.SqlLine.begin(SqlLine.java:531) at sqlline.SqlLine.start(SqlLine.java:270) at sqlline.SqlLine.main(SqlLine.java:201) Caused by: org.apache.drill.exec.exception.DrillbitStartupException: Problem in finding the native library of JPAM (Pluggable Authenticator Module API). Make sure to set Drillbit JVM option 'java.library.path' to point to the directory where the native JPAM exists.:no jpam in java.library.path at org.apache.drill.exec.rpc.user.security.PamUserAuthenticator.setup(PamUserAuthenticator.java:52) at org.apache.drill.exec.rpc.user.security.UserAuthenticatorFactory.createAuthenticator(UserAuthenticatorFactory.java:98) at org.apache.drill.exec.rpc.security.AuthenticatorProviderImpl.<init>(AuthenticatorProviderImpl.java:66) at org.apache.drill.exec.server.BootStrapContext.<init>(BootStrapContext.java:83) at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:161) at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:125) at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:133) ... 18 more Caused by: java.lang.UnsatisfiedLinkError: no jpam in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at net.sf.jpam.Pam.<clinit>(Pam.java:51) at org.apache.drill.exec.rpc.user.security.PamUserAuthenticator.setup(PamUserAuthenticator.java:46) ... 24 more Apache Drill 1.16.0 "Let's Drill something more solid than concrete." apache drill> select * from sys.version; No current connection
If we remove authentication block from config, Drill starts without errors:
drill.exec: { cluster-id: "drillbits1", zk.connect: "localhost:2181", impersonation: { enabled: true, max_chained_user_hops: 3 } }
Attachments
Issue Links
- links to