我在Kerborized环境中有Nifi 3节点集群(通过Hortonworks数据流安装 - HDF)。作为安装的一部分,Ambari创建了nifi服务密钥表。 喜
我可以使用这个nifi.service.keytab来配置与Hadoop服务对话的PutHDFS等处理器吗?
nifi.service.keytab是特定于机器的,并且始终期望主要名称包含机器信息。 ex nifi / HOSTNAME @ REALM
如果我使用nfii / NODE1_Hostname @ REALM信息配置我的处理器,那么我会在其他两个节点中看到kerberos身份验证异常。
如何动态解析主机名以使用nifi服务密钥表?
答案 0 :(得分:1)
keytab主要名称字段支持Apache NiFi Expression Language,因此您可以使用如下表达式:nifi/${hostname()}@REALM
,并且每个节点都会将该表达式(独立地)解析为nifi/host1.nifi.com@REALM
或nifi/host2.nifi.com@REALM
等等。
如果您不希望它是显式主机名,您还可以在每个节点(export NIFI_KEYTAB_HOSTNAME="modified_host_format_1"
等)上设置环境变量,并以相同的方式引用EL表达式中的环境变量:{{ 1}}。