centos - Apache Drill 的 JPAM 配置

标签 centos apache-drill pam openjpa-maven-plugin

我正在尝试基于 JPAM 1.1 配置 PLAIN 身份验证,并且因为在 x 次检查我的语法和设置后它不起作用,所以我发疯了。当我仅使用 cluster-id 和 zk-connect 开始钻取时,它可以工作,但是使用 PLAIN 身份验证的两个选项都会失败。因为我从 pam4j 开始,后来又尝试了 JPAM,所以我为这篇文章保留了 JPAM。一般来说,我没有任何偏好。我只是想完成它。我在 CentOS 上以嵌入式模式运行 Drill。

由于官方文档,我已经做了任何需要的事情:

  • 我下载了 JPAM 1.1,解压缩并将 libjpam.so 放入特定文件夹 (/opt/pamfile/)
  • 我编辑了 Drill-env.sh:export DRILLBIT_JAVA_OPTS="-Djava.library.path=/opt/pamfile/"
  • 我编辑了 Drill-override.conf :
    drill.exec: { cluster-id: "drillbits1", zk.connect: "local", impersonation: { enabled: true, max_chained_user_hops: 3 }, security: { auth.mechanisms: ["PLAIN"], }, security.user.auth: { enabled: true, packages += "org.apache.drill.exec.rpc.user.security", impl: "pam", pam_profiles: [ "sudo", "login" ] } }

  • 它引发后续错误:
    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)
    我已经手动运行了 *.sh 文件以确保导出了必要的路径,因为我不知道 Drill 是否期望这样。 libjpam 的路径应该是已知的。我已经用 sudo 等启动了 Sqlline。没有机会。文档没有帮助。我不明白为什么它如此糟糕而且 imo 不完整。遗憾的是,关于如何详细解决或配置基本用户身份验证的解释为 0。

    还是我必须做一些没有被告知但预期的事情?有没有 Apache Drill 本身没有提到的关于 PLAIN 身份验证的先决条件?

    最佳答案

    尝试改变:
    export DRILLBIT_JAVA_OPTS="-Djava.library.path=/opt/pamfile/"
    至:
    export DRILL_JAVA_OPTS="$DRILL_JAVA_OPTS -Djava.library.path=/opt/pamfile/"
    这个对我有用。

    关于centos - Apache Drill 的 JPAM 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57592436/

    相关文章:

    hadoop - Apache 钻配置

    sql - 如何从 Apache Drill 中的时间戳字段中提取日期部分?

    java - PAM "pam_unix.so"身份验证有时会失败

    linux - 使用 pam 设置用户密码

    linux - 如果安装后脚本失败,请确保 yum 安装失败

    php - zend form post如何获取变量

    java - HttpUrlConnection 在 CentOS 上运行时占用 100% CPU

    sql - 在 Apache Drill 中将 .json 数据集转换为 .parquet,无需任何分区

    linux - 自定义 PAM 配置 : How can I pass username/password parameters to an pam_exec. 所以模块?

    linux - nginx 配置中的访问权限