You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Arina Ielchiieva (JIRA)" <ji...@apache.org> on 2019/04/24 12:07:00 UTC

[jira] [Created] (DRILL-7205) Drill fails to start when authentication is disabled

Arina Ielchiieva created DRILL-7205:
---------------------------------------

             Summary: Drill fails to start when authentication is disabled
                 Key: DRILL-7205
                 URL: https://issues.apache.org/jira/browse/DRILL-7205
             Project: Apache Drill
          Issue Type: Bug
    Affects Versions: 1.15.0, 1.16.0
            Reporter: Arina Ielchiieva
             Fix For: Future


drill-override.conf content:
{noformat}
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" ]
  }
}
{noformat}

Note that authentication is disabled {{enabled: false}}.

Drill fails during start up:
{noformat}
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
{noformat}

If we remove authentication block from config, Drill starts without errors:
{noformat}
drill.exec: {
  cluster-id: "drillbits1",
  zk.connect: "localhost:2181",
   impersonation: {
	enabled: true,
	max_chained_user_hops: 3
  }
}
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)