Hi there,

I've notice an odd behavior when using embedded Zookeeper on a NiFi cluster
with MapR compatible processors:

I noticed that every time I enable embedded zookeeper, NiFi's HDFS
processors (e.g. PutHDFS) start complaining about Kerberos identities:

2016-10-26 20:07:22,376 ERROR [StandardProcessScheduler Thread-2]
o.apache.nifi.processors.hadoop.PutHDFS
java.io.IOException: Login failure for princical@REALM-NAME-GOES-HERE from
keytab /path/to/keytab_file/nifi.keytab
        at
org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytabAndReturnUGI(UserGroupInformation.java:1084)
~[hadoop-common-2.7.0-mapr-1602.jar:na]
        at
org.apache.nifi.hadoop.SecurityUtil.loginKerberos(SecurityUtil.java:52)
~[nifi-hadoop-utils-1.0.0.jar:1.0.0]
        at
org.apache.nifi.processors.hadoop.AbstractHadoopProcessor.resetHDFSResources(AbstractHadoopProcessor.java:285)
~[nifi-hdfs-processors-1.0.0.jar:1.0.0]
        at
org.apache.nifi.processors.hadoop.AbstractHadoopProcessor.abstractOnScheduled(AbstractHadoopProcessor.java:213)
~[nifi-hdfs-processors-1.0.0.jar:1.0.0]
        at
org.apache.nifi.processors.hadoop.PutHDFS.onScheduled(PutHDFS.java:181)
[nifi-hdfs-processors-1.0.0.jar:1.0.0]

So far so good, these errors are quite familiar to people using NiFi
against secure MapR clusters and caused by issues around the custom JAAS
settings required by Java applications relying on the MapR client to work.

The normal workaround this would be instructing NiFi to where the the JAAS
settings via bootstrap.conf [1]:

$grep jaas
java.arg.15=-Djava.security.auth.login.config=./conf/nifi-jaas.conf

The contents of nifi-jaas.conf are a copy of the relevant MapR JAAS stanza:

While the workaround seems to work (still doing tests) I ask:

Should setting

nifi.state.management.embedded.zookeeper.start=true

Cause this behavior?

Cheers

Reply via email to