Member since
07-30-2019
3391
Posts
1618
Kudos Received
1000
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 281 | 11-05-2025 11:01 AM | |
| 165 | 11-05-2025 08:01 AM | |
| 502 | 10-20-2025 06:29 AM | |
| 642 | 10-10-2025 08:03 AM | |
| 405 | 10-08-2025 10:52 AM |
07-07-2017
05:34 PM
@Sanaz Janbakhsh Good to hear, can you mark the original answer I posted as accepted to close out this thread? Thanks, Matt
... View more
07-07-2017
05:32 PM
@Sanaz Janbakhsh We should try to avoid creating a new "Answer" for every correspondence here. I am not clear on what you mean by "blank page"? Have you tried clearing your browser cache? What do you see in your NiFi's nifi-user.log when you try to access the https web address for your iFi instance?
https://<nifinodename><secureport>/nifi
Thanks, Matt
... View more
07-07-2017
04:03 PM
@Sanaz Janbakhsh The users.xml and authorizations.xml files are generated on initial startup of a secured NiFi instance using the configurations specified in the authorizers.xml file. Once these two files exist, any changes made in the authorizers.xml file will not be made to these existing files. The expectation is that the NiFi UI is used at that point to add additional users and set additional authorizations. So if the initial authorizers.xml file had incorrect entries, the users.xml and authorizations.xml files created will not be correct. You will need to remove these two files and restart so that new users.xml and authorizations.xml files are created based on a correct configuration in the authorizers.xml. The users.xml and authorizations.xml files outputs you shared above are not correct. Neither is your authorizers.xml. Your authorizers.xml file should look something like this:
<authorizers>
<authorizer>
<identifier>file-provider</identifier>
<class>org.apache.nifi.authorization.FileAuthorizer</class>
<property name="Authorizations File">/var/lib/nifi/conf/authorizations.xml</property>
<property name="Users File">/var/lib/nifi/conf/users.xml</property>
<property name="Initial Admin Identity">CN=admin, OU=NIFI</property>
<property name="Legacy Authorized Users File"></property>
<property name="Node Identity 1">CN=nifinode1, OU=NIFI</property>
<property name="Node Identity 2">CN=nifinode2, OU=NIFI</property>
<property name="Node Identity 3">CN=nifinode3, OU=NIFI</property>
</authorizer>
</authorizers> Each node in your cluster must have its own entry.
You must specify an Initial Admin Identity. This will be the only user who can access your NiFi initially. The will given the authorizations needed to add additional users and assign policies for those new users. Using above example, your users.xml file that is generated should look like this: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tenants>
<groups/>
<users>
<user identifier="38e35829-435d-3be4-83b6-784cb560e855" identity="CN=admin, OU=NIFI"/>
<user identifier="22f1b808-a02d-3344-93c1-c944af6b5686" identity="CN=nifinode1, OU=NIFI"/>
<user identifier="ea71911e-b2f3-3975-a459-50c9f8e905d1" identity="CN=nifinode2, OU=NIFI"/>
<user identifier="e63552bb-6e32-346d-8b9d-d82ef1616ce9" identity="CN=nifinode3, OU=NIFI"/>
</users>
</tenants> And your authorizations.xml that is generated should look like this: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<authorizations>
<policies>
<policy identifier="ba421219-28f1-3918-bc27-bf5533cb847e" resource="/flow" action="R">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="b56e3b5c-a458-3088-a4a6-30c9ad7ea69d" resource="/data/process-groups/f459ab3e-015c-1000-6a96-d0fd4c9da94c" action="R">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
<user identifier="22f1b808-a02d-3344-93c1-c944af6b5686"/>
<user identifier="ea71911e-b2f3-3975-a459-50c9f8e905d1"/>
<user identifier="e63552bb-6e32-346d-8b9d-d82ef1616ce9"/>
</policy>
<policy identifier="78c6edfa-7c8a-398e-8ffa-716820b5040b" resource="/data/process-groups/f459ab3e-015c-1000-6a96-d0fd4c9da94c" action="W">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
<user identifier="22f1b808-a02d-3344-93c1-c944af6b5686"/>
<user identifier="ea71911e-b2f3-3975-a459-50c9f8e905d1"/>
<user identifier="e63552bb-6e32-346d-8b9d-d82ef1616ce9"/>
</policy>
<policy identifier="b817348f-f27b-3b42-8b8c-040977436b45" resource="/process-groups/f459ab3e-015c-1000-6a96-d0fd4c9da94c" action="R">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="dd8ad42a-4266-3646-a804-f612245edbe3" resource="/process-groups/f459ab3e-015c-1000-6a96-d0fd4c9da94c" action="W">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="efd76cc8-fd81-3cd1-bf21-3065661848bd" resource="/restricted-components" action="W">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="c2f680ff-bec3-336b-8ed2-512321cc7162" resource="/tenants" action="R">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="d3840ff8-f56e-3d2c-8361-bab5cf498107" resource="/tenants" action="W">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="ff398473-528d-3393-85bc-cd6810f47d72" resource="/policies" action="R">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="a55e48e9-691f-3052-ae92-77fffb2858d6" resource="/policies" action="W">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="56f51845-8783-3a14-b22c-9971bf232b17" resource="/controller" action="R">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="ef41b898-79b8-3782-b01a-e54e5bf20661" resource="/controller" action="W">
<user identifier="38e35829-435d-3be4-83b6-784cb560e855"/>
</policy>
<policy identifier="19b83f2b-967e-35d5-8091-f4abc877877b" resource="/proxy" action="W">
<user identifier="22f1b808-a02d-3344-93c1-c944af6b5686"/>
<user identifier="ea71911e-b2f3-3975-a459-50c9f8e905d1"/>
<user identifier="e63552bb-6e32-346d-8b9d-d82ef1616ce9"/>
</policy>
</policies>
</authorizations> Of course all the UUIDs that are generated will be different. Thanks, Matt *** If you found this answer addressed your question please mark it as accepted.
... View more
07-07-2017
01:27 PM
@adrian white The tailFile processor is designed to tail a file and ingest new lines as they are written to that file. IN your case you have static files that are not being written to. You will want to use the GetFile processor to in gets these complete files before using the splitText processor to break them apart in 1 line per new FlowFile. Thanks,
Matt
... View more
07-07-2017
01:16 PM
@Mark Heydenrych You may be able to use the ReplaceText processor to remove those blank lines from your input FlowFile's content before the SplitText processor. I did a little test that worked for me using the following configuration: This evaluates your FlowFile line by line and replace the line return (\n) on any line where the line starts with a line return with nothing. The effectively removes that blank line. After that my splitText reported teh correct fragment.count when I split the file. Thanks, Matt
... View more
07-07-2017
12:41 PM
@Bertrand Goubot MiNiFi will work the same way with regards to accessing locally mounted disks. NiFi and MiNiFi have no issues working with large Files as long as there is sufficient space in the content repository to store and do any processing needed on those large files. Thanks, Matt
TIP: We try to keep the discussion going under one answer rather then creating a new answer every time we respond back and forth in this forum. Unless someone if offering up a new solution/answer to the question.
... View more
07-06-2017
05:11 PM
@Bertrand Goubot A mounted file systems is treated like any other local system directory NiFi interacts with. NFS mounts are not going to be as performant as local disks of course. When NiFi ingest Files form your NFS mount, the content of those files is going to be placed in NiFi's content repository. Any processors that then work on that ingested content work use what is in teh content repository. Thanks, Matt
... View more
07-06-2017
01:28 PM
@Mark Heydenrych I generated an Apache Jira requesting a change to this behavior: https://issues.apache.org/jira/browse/NIFI-4156 If you found this answer addressed your question, please mark answer as accepted. Thank you,
Matt
... View more
07-06-2017
12:37 PM
2 Kudos
@Mark Heydenrych The default configuration of the SplitText processor is to not emit FlowFiles where the content is just a blank line. This behavior is controlled by the "Remove trailing Newlines" property. The fragment.count attributes is set based on the total number of fragments in the original FlowFile's content. The Fragment.index is is a one up number assigned to each FlowFile emitted. So in your case, i suspect that your original FlowFile's content contained 66,443 lines with 13 of those lines as just blank lines that were not emitted. If you change "Remove trailing Newlines" to "false", your emitted count will match your Fragment.count. Thanks, Matt
... View more
07-05-2017
10:31 PM
1 Kudo
@Adda Fuentes Try adjusting your connection timeout settings in your nifi.properties file.... nifi.cluster.node.connection.timeout = 30 sec nifi.cluster.node.read.timeout = 30 sec This will give nodes a little longer to respond to requests before being disconnected by the cluster coordinator. Thanks, Matt
... View more