Member since
07-30-2019
3436
Posts
1632
Kudos Received
1012
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 143 | 01-27-2026 12:46 PM | |
| 560 | 01-13-2026 11:14 AM | |
| 1233 | 01-09-2026 06:58 AM | |
| 1005 | 12-17-2025 05:55 AM | |
| 498 | 12-17-2025 05:34 AM |
05-07-2021
03:04 PM
Thank you. That is the case, there is a lot going on and we are trying to determine the sizing needed for new processes. We did a POC with the need to load about 6 million records. When it came time to implement in Test the cluster isn't enough to handle the load since the data had grown to 173 million. Can't wait to see what is in Prod. 🙂 Thank you for the explanation about the bootstrap and child as well as the suggestions! Much appreciated.
... View more
05-07-2021
11:02 AM
@MattWho Thanks for the time available for my problem, the "ExtractText" worked perfectly for my case and the data was saved in my database. Grateful.
... View more
05-07-2021
06:28 AM
Thanks, I tried something just like this yesterday, and it would work, but these logs don't have a file extension like what would be needed, (.gz) but I think I have an issue somewhere else, so will carry on trying to fix the overall issue.
... View more
05-07-2021
05:31 AM
@Justee You definitely can't use "/Home/Data/" in the "Remote File" property of the FetchSFTP processor. This must be a the full path to a specific file being fetched, which means it should be getting that path and filename values from the inbound FlowFile's attributes. Your ListSFTP (which you said is working) would be producing a FlowFile for each File found at target directory non your SFTP server. Those FlowFiles will get queued on the outbound connection containing the ListSFTP's "success" relationship. That connection is the inbound connection to the FetchSFTP processor that will connect to same SFTP server and retrieve the content for each of those FlowFiles that were produced by the ListSFTP processor. The "Remote File" property on the FetchSFTP processor should be using NiFi Expression Language (EL) to dynamically set the path and filename being fetched uniquely for each inbound FlowFile. ${path}/${filename} NiFi is case sensitive, so make sure you are using all lowercase so it matches the attribute names created on the Source FlowFiles by the ListSFTP processor. When you say the FetchSFTP processor is "not working", what does that mean? To which relationship are the inbound FlowFiles getting routed when it does not work? What exception (ERROR) is logged in the nifi-app.log when it fails to fetch the content for an inbound FlowFile? Make sure when you configured the username and password on the FetchSFTP you did not accidentally add a leading or trailing whitespace. Hope this helps, Matt
... View more
05-07-2021
01:35 AM
Matt, absolutely right I tried it and it did work. It was so easy Thanks a lot
... View more
05-06-2021
02:10 PM
2 Kudos
@sangee Details around your use case may be helpful. The SplitText processor will output all FlowFiles produced at the exact same time to the "splits" relationship. So if you intent is to wait until all splits from a single source FlowFile are produced before processing those splits, this flow is not needed. Pierre has written an excellent blog around using wait and notify processors in a dataflow that does merge and split. Check it out here: https://pierrevillard.com/2018/06/27/nifi-workflow-monitoring-wait-notify-pattern-with-split-and-merge/ If you found this helpful with your query, please take a moment to login and click accept on this solution. Thanks, Matt
... View more
05-06-2021
02:01 PM
@syntax_ NiFi does not provide a method for uploading templates in bulk. But anything you can do via the UI, you can also do via rest-api calls [1] through curl. So you could script the bulk upload through rest-api external to NiFi's UI. I would strongly discourage bulk uploading templates to NiFi. Templates should be uploaded as needed, instantiate to the canvas and then template deleted from NiFi. All uploaded templates even if not instantiated to the canvas become part of the flow.xml loaded in to heap memory. So keeping a large number of templates uploaded to your NiFi can have a considerable impact on JVM heap memory usage because now you have not only your active flow on the canvas in memory, but also these templates. Additionally, In a NiFi cluster on startup the flow.xml.gz is uncompressed, loaded in to heap memory, and a flow fingerprint created on every node. These flow fingerprints are then compared to make sure all nodes joining the cluster are running with the same flow.xml. Since these templates can just add unnecessary size to the flow.xml.gz, this can impact startup times and flow fingerprint comparison time. A better approach is to get your reusable flow migrated into NiFi-Registry [2]. You can have 1 to many NiFi's all connect to a single NiFi-Registry where all your flows exist. Then all you need to do is drag a process group to the canvas and select "import" which will allow you to select one of these flows from NiFi-Registry and add it to your canvas. Now you have your flow without the additional impact on heap from having it in NiFi both as a template and as a dataflow on your canvas with easy access to load same flow over and over. I encourage you to explore NiFi-Registry. [1] http://nifi.apache.org/docs/nifi-docs/rest-api/index.html [2] https://nifi.apache.org/registry.html If you found this response helped with your query, please take a moment to login in and click accept on this solution. Thanks, Matt
... View more
05-06-2021
10:56 AM
@hkh Did you happen to restart your NiFi instance at any time? Can you share a versbose (ls -latrh) listing of your log directory? I do recommend you compress on rollover. nifi-app.logs can get very large especially if you are only creating one log file per day. To compress on rollover, you would add a ".gz" to the end of your <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app_%d.log.gz</fileNamePattern> Thanks, Matt
... View more
05-05-2021
08:01 AM
@dragfly There are a number of ports that can be set via the nifi.properties file that you would need to make sure are open/reachable. Some of those you already identified in your question. The other ports may vary depending on the version of NiFi you are using since new capabilities/features get introduced from time to time. This list includes below properties that would exist in nifi.properties file (depending on NiFi version): Web properties: nifi.web.http.port
nifi.web.http.port.forwarding
nifi.web.https.port
nifi.web.https.port.forwarding Cluster Node properties: nifi.cluster.node.protocol.port
nifi.cluster.load.balance.port Site-To-Site properties: nifi.remote.input.socket.port NiFi clusters also have a dependency on zookeeper, so you'll need to make sure your NiFi nodes can reach your ZK hosts over the configured ZK ports configured in your ZK. Then once you start building your dataflows, you may add components to the canvas the introduce additional ports you may need to open. For example, any processor or controller service that creates a listener for incoming request like ListenHTTP, ListenTCP, DistributedMapCacheServer, etc. For egress the same applies for any external service(s) your NiFi dataflows will need to connect with. If you found that this solution help you, please take a moment to login and click accept on this solution. Thanks, Matt
... View more
05-05-2021
06:21 AM
@Justee So with NiFi, there is a UI, but you need to make sure there is a route to the host (where you are laughing your browser) and target: <hostname/IP>:<port> If your NiFi in startup is binding to private network interface or only the loopback IP address, you would most likely be unable to reach those IPs from your client machine on a public network. From your client machine, can you ping that "<hostname/IP>"? Does the server where your NiFi is running have multiple network interfaces for perhaps a public and a private network? Did you try changing the IP that NiFi binds to in nifi.properties file: nifi.web.http.host= Did you try to tell your NiFi to bind to multiple network interfaces in the nifi.properties file if they exist in that server? For example: nifi.web.http.network.interface.eth0=eth0
nifi.web.http.network.interface.eth1=eth1 Your servers network interfaces may be different then above example. If you found this solution helpful, please take a moment to login in and click accept on all solutions that helped you. Thanks, Matt
... View more