You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@drill.apache.org by Devender Yadav <de...@gmail.com> on 2016/02/19 14:56:00 UTC

Configuring user authentication in Drill.

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

Re: Configuring user authentication in Drill.

Posted by Venki Korukanti <ve...@gmail.com>.
I think the env variable is: DRILL_SHELL_JAVA_OPTS for SqlLine shell script.

On Sat, Feb 27, 2016 at 1:13 AM, Devender Yadav <de...@gmail.com> wrote:

> Is this PAM authentication work for Drill in embedded mode?
>
> Regards,
> Devender
>
> On Fri, Feb 19, 2016 at 7:59 PM, Devender Yadav <de...@gmail.com> wrote:
>
> > Some more details:
> >
> > Drill Version - 1.4
> > OS - Ubuntu 14.0.4
> >
> > I am running drill in embedded mode.
> >
> > Regards,
> > Devender
> >
> > On Fri, Feb 19, 2016 at 7:26 PM, Devender Yadav <de...@gmail.com>
> wrote:
> >
> >> 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
> >>
> >
> >
>

Re: Configuring user authentication in Drill.

Posted by Devender Yadav <de...@gmail.com>.
Is this PAM authentication work for Drill in embedded mode?

Regards,
Devender

On Fri, Feb 19, 2016 at 7:59 PM, Devender Yadav <de...@gmail.com> wrote:

> Some more details:
>
> Drill Version - 1.4
> OS - Ubuntu 14.0.4
>
> I am running drill in embedded mode.
>
> Regards,
> Devender
>
> On Fri, Feb 19, 2016 at 7:26 PM, Devender Yadav <de...@gmail.com> wrote:
>
>> 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
>>
>
>

Re: Configuring user authentication in Drill.

Posted by Devender Yadav <de...@gmail.com>.
Some more details:

Drill Version - 1.4
OS - Ubuntu 14.0.4

I am running drill in embedded mode.

Regards,
Devender

On Fri, Feb 19, 2016 at 7:26 PM, Devender Yadav <de...@gmail.com> wrote:

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