Member since
07-30-2019
3436
Posts
1632
Kudos Received
1012
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 144 | 01-27-2026 12:46 PM | |
| 562 | 01-13-2026 11:14 AM | |
| 1234 | 01-09-2026 06:58 AM | |
| 1005 | 12-17-2025 05:55 AM | |
| 498 | 12-17-2025 05:34 AM |
05-05-2021
06:10 AM
@AnkushKoul You may consider having two dataflows here because you would need to store this password somewhere that your putSFTP processor dataflow would need have access to. One dataflow that acquires the password from the rest endpoint and another that is actually performs your putSFTP. Flow to get password would consist of a GenerateFlowFile (configure to generate a FlowFIle on each NiFi node using a run schedule to control how often password will be refreshed)--> invoketHTTP --> putDistributedMapCache (Configured to use DistributedMapCacheClient that uses "localhost" as server hostname. Will need to also add a DistributedMapCacheServer Controller service that above client will talk to. This will make sure each node grabs password and stores it locally on that nodes's DMCServer) Then in your flow using putSFTP, you would replace the invokeHTTP processor a fetchDistributedMapCache processor just before the putSftp processor (suggest looping failure relationship from putSFTP back to fetchDistributedMapCache processor just in case password changes or there was no password stored when fetch was attempted first time). Keep in mind that flows like this are not idea. The retrieved password that you are placing in to a FlowFile attribute is stored in plaintext. If you found this solution helpful, please take a moment to login and click accept on this solution. Good luck, Matt
... View more
05-03-2021
07:13 AM
@Arash A FlowFile consists of to parts: - FlowFile content - Content resides on disk in the content repository and not in heap memory. Some components used may need to load content in to memory to perform the function of that component. - FlowFile Attributes/metadata - FlowFiles actively queued in a connection will have their attributes/metadata held in heap memory. Swapping is the only mechanism that can move this FlowFile metadata/attribute data out of heap to swap on disk. It is important to remember that MiNiFi will only start swapping FlowFiles to disk once the swap threshold per connection reaches the configured value(default 20,000). Swap files are created in batches of 10,000. So in a smoothly running flow there should be very little, if any, swapping of FlowFile attributes/metadata happening. This should only be happening at times of data bursts. To keep heap usage down, limit the size of your connection queue backpressure object threshold. The default is 10000 which means a connection would never accumulate enough FlowFiles to trigger a swap file anyway normally (backpressure is a soft limit, so if a source processor is allowed to execute because the downstream connection is not applying backpressure yet and that source processor execution results in 30,000 FlowFiles being created, then all 30,000 are placed on downstream connection which would result in swap files being created). When you are building your dataflow via NiFi that you will use on your MiNiFi agent, be mindful of above and and look at the embedded documentation for the components you will be using in that dataflow. The embedded docs include resource consideration section under each component if there are known impacts on heap memory or cpu. Processors that merge or split FlowFiles commonly used can have an impact on heap memory if not configured wisely. Hope this helps remove some concern and provide useful insight. If you found this helpful, please take a moment to login and click accept on this solution. Matt
... View more
04-30-2021
09:21 AM
Hi, Im also trying same nifi cluster on ecs configuration and facing zombie node issue, node are disconnected but not able to delete them do you guys get any solutions?
... View more
04-26-2021
05:45 AM
@naga_satish If you NiFi is running secured (HTTPS), then every action must be authenticated and authorized and this includes calls made to the NiFi rest API. NiFi by default will always support a client/user certificate for authentication as the first attempted method of authentication. Using a valid client/user certificate is the most common method used when interacting with NiFi via the rest-api because it does not require the client to acquire a bearer token like other methods such as the ldap-provider. Also Bearer tokens are only valid on the node from which it was acquired (Can't use token issued by node 1 on node 2, 3, 4, etc...). The best way to to see how these commands are executed is using the developer tools in your browser while executing the actions via the NiFI Ui directly. You can even copy the curl command from the developer tools. For example, in Chrome browser click on the settings --> more tools --> Developer tools From UI that opens click the "Network" tab. Now you can see the calls being made as you perform them via the UI and can right click on any call and select copy as curl. Now if you still want to use Tokens, here is one example based off using a login provider: To get a token for a user: curl 'https://<nifi-hostname>:<nifi-port>/nifi-api/access/token' --data-raw 'username=<username>&password=<password>' --compressed --insecure The return from the above is your bearer token for the user. This bearer token is only valid for the duration of the configured expiration in the login-identity-providers.xml file. The following command then can be used to fetch the current state on a processor (<TOKEN> is the string returned from above): curl 'https://<nifi-hostname>:<nifi-port>/nifi-api/processors/<processor-UUID>/state' -H 'Authorization: Bearer <TOKEN>' --compressed --insecure The following command then can be used to clear the state on a processor: curl 'https://<nifi-hostname>:<nifi-port>/nifi-api/processors/<processor-UUID>/state/clear-requests' -X 'POST' -H 'Authorization: Bearer <TOKEN>' --compressed --insecure Since you setup may be totally different in how it is setup to authenticate your users, it is best to use the browser's developer tools to to see the rest-api action in progress to understand the interactions. Hope this helps, Matt
... View more
04-15-2021
06:28 AM
check disk space http://apache-nifi-users-list.2361937.n4.nabble.com/Clarifications-on-getting-flowfiles-using-FlowFileFilters-td7333.html
... View more
04-13-2021
10:50 AM
@Law While Jolt transforms are not something NiFi specific and not something I am strong with myself, you may find these links helpful to you: https://intercom.help/godigibee/en/articles/3096940-simple-if-else-with-jolt https://community.cloudera.com/t5/Community-Articles/Jolt-quick-reference-for-Nifi-Jolt-Processors/ta-p/244350 Hope this helps, Matt
... View more
04-13-2021
12:47 AM
Thanks. We have decided to introduce Priority attribute & use the corresponding prioritizer for the connection.
... View more
04-12-2021
11:34 AM
Thanks for the pointer @MattWho. I've added a comment to NIFI-8160.
... View more
04-12-2021
05:49 AM
@AnkushKoul Since the 30 seconds since last execution has past, the processor is available to be immediately scheduled once a thread becomes available. So second thread would not wait till 60 seconds. This setting is minimum wait between executions. Other factors come int play that can affect component execution scheduling. NiFi hands out threads to processors from the Max Timer Driven Thread Count resource pool set via Controller Settings under the global menu in the upper right corner. Naturally you will have more components on your canvas then the size of this resource pool (which should be set initially to only 2-4 times the number fo cores you have on a single node since setting applies per node). NiFi will hand these available threads out to processors requesting CPU time to execute. Most component threads are in the range of milliseconds of execution, bit some can be more resource intensive and take longer to complete. Before increasing this resource pool, you should monitor the CPU impact/usage with all your dataflows running. Then make small increments if resource exist. Hope this answers your questions. If, so please take. moment to accept the answer(s) that helped. Matt
... View more