Не удается настроить аутентификацию PAM во встроенном режиме Apache Drill - PullRequest
0 голосов
/ 02 октября 2019

Я новичок в Apache Drill и хочу настроить аутентификацию во встроенном режиме с использованием PAM. Я уже следовал за документацией, но я получил ошибку / исключение. Какую конфигурацию мне не хватает ??

Я уже скачал jpam и поместил его в / opt / pam

Это мой файл Drill-Override.conf:

    drill.exec: {
      cluster-id: "drillbits1",
          zk.connect: "localhost:2181",
          sys.store.provider.local.path: "/home/alventdwinata/apache-drill-1.16.0/storage",
          impersonation: {
            enabled: true,
            max_chained_user_hops: 3
          },
          security.user.auth: {
            enabled: true,
            packages += "org.apache.drill.exec.rpc.user.security",
            impl: "pam",
            pam_profiles: [ "sudo", "login" ]
          }
    }

Это мой файл сверления. sh и я уже добавляю экспорт DRILLBIT_JAVA_OPTS = "- Djava.library.path = / opt / pam /"

#export DRILLBIT_JAVA_OPTS="-Djava.library.path=/opt/pam/"
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
...
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 n my drill-env.sh 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
...