【问题标题】:Nifi + Hortonworks Schema Registry + Kerberos: 401 Authentication requiredNifi + Hortonworks Schema Registry + Kerberos:需要 401 身份验证
【发布时间】:2020-01-17 09:54:18
【问题描述】:

我正在使用 Apache Nifi 1.7,我正在尝试使用 RecordWritter,它使用 Hortonwors 架构注册表服务控制器来读取架构元数据。

但是,此控制器服务没有任何 Kerberos 配置属性,例如其他 Nifi 处理器具有的“Kerberos 凭据服务”,因此我收到 401 错误:当我尝试从 Hortonworks Schema Registry 读取模式时需要身份验证。

这里有趣的是,这个工作流之前是有效的,在停止 nifi 流、将集群移动到不同的 LAN 并再次重新启动流之后,它开始失败。我在这里放弃了任何网络问题,因为 kerberos 和模式注册表保持与以前相同的 URI,并且我可以像以前一样使用 curl 从命令行查询注册表服务。

有没有办法让 Hortonworks 架构注册表控制器与 Kerberos 一起工作?

【问题讨论】:

    标签: kerberos apache-nifi cloudera


    【解决方案1】:

    在 1.7.0 中,唯一的方法是通过一个带有 RegistryClient 条目的 JAAS 文件,例如:

    RegistryClient {
        com.sun.security.auth.module.Krb5LoginModule required
        useKeyTab=true
        keyTab="REPLACE_WITH_KEYTAB"
        storeKey=true
        useTicketCache=false
        principal="REPLACE_WITH_PRINCIPAL";
    };
    

    然后在nifi的bootstrap.conf中需要指定系统属性:

    java.arg.16=-Djava.security.auth.login.config=/path/to/jaas.conf

    在 1.10.0 中,服务中有新的属性使其更易于配置。

    【讨论】:

    • 您好,谢谢您的回答。看来我已经配置过了。我可以在 ambari 内部的配置中看到这一点:java.arg.0=-Djava.security.auth.login.config={{nifi_jaas_conf}}。我可以在 jaas 配置文件中找到 NifiClient 和 RegistryClient 部分。我不知道模板机制 {{nifi_jaas_conf}},但我可以说该文件存在,并且 ambari 中的 Advanced nifi-jaas-conf 部分也正确填充了有效的主体和 keytab 参数。此配置在重新启动 Nifi 流之前有效。如何检查 Nifi es 是否正确读取此配置?Tx
    • 找到写入磁盘的 nifi bootstrap.conf,而不是通过 ambari 查看那个,nifi 不使用该属性的唯一方法是稍后在引导程序中设置另一个。 conf 指向不同的 jaas 文件并覆盖第一个文件
    • 是的,文件在 thisk 上。重新启动 Nifi(几次)后,它开始工作而没有进行任何更改。很奇怪...谢谢你的帮助,我会投票给你,因为你提供的信息非常有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2016-04-15
    • 1970-01-01
    相关资源
    最近更新 更多