HI, I am trying to configure user authentication in Drill.
I am referring : https://drill.apache.org/docs/configuring-user-authentication/ I copies libpam.so at /opt/pam (it does not contain any hadoop component) I made entry in drill-env.sh: export DRILLBIT_JAVA_OPTS="-Djava.library.path=/opt/pam/" I modified drill-override.conf: drill.exec { security.user.auth { enabled: true, packages += "org.apache.drill.exec.rpc.user.security", impl: "pam", pam_profiles: [ "sudo", "login" ] } } I am getting exception: 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:127) at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:64) at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) at net.hydromatic.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:126) at org.apache.drill.jdbc.Driver.connect(Driver.java:72) at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167) at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213) at sqlline.Commands.connect(Commands.java:1083) at sqlline.Commands.connect(Commands.java:1015) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) at sqlline.SqlLine.dispatch(SqlLine.java:742) at sqlline.SqlLine.initArgs(SqlLine.java:528) at sqlline.SqlLine.begin(SqlLine.java:596) at sqlline.SqlLine.start(SqlLine.java:375) at sqlline.SqlLine.main(SqlLine.java:268) 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:53) at org.apache.drill.exec.rpc.user.security.UserAuthenticatorFactory.createAuthenticator(UserAuthenticatorFactory.java:90) at org.apache.drill.exec.rpc.user.UserServer.<init>(UserServer.java:78) at org.apache.drill.exec.service.ServiceEngine.<init>(ServiceEngine.java:64) at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:190) at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:178) at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:117) ... 18 more Caused by: java.lang.UnsatisfiedLinkError: no jpam in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886) at java.lang.Runtime.loadLibrary0(Runtime.java:849) at java.lang.System.loadLibrary(System.java:1088) at net.sf.jpam.Pam.<clinit>(Pam.java:51) at org.apache.drill.exec.rpc.user.security.PamUserAuthenticator.setup(PamUserAuthenticator.java:47) ... 24 more Regards, Devender
