Member since
07-30-2019
3432
Posts
1632
Kudos Received
1012
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 116 | 01-27-2026 12:46 PM | |
| 513 | 01-13-2026 11:14 AM | |
| 1136 | 01-09-2026 06:58 AM | |
| 958 | 12-17-2025 05:55 AM | |
| 469 | 12-17-2025 05:34 AM |
07-13-2018
01:23 PM
@Nikhil What I was getting at was that the authentication methods are different here. - I am assuming your users who access the NIFi UI via the load balancer are using a user/password authentication method? That method results in a token being issued to the authenticated user which is then passed by the client in every subsequent request to the NiFi API. - With Site-To-Site, there are no tokens involved in the authentication process since certificate authentication occurs via two-way TLS in every single rest api call. - Admittedly, I know nothing about your specific LB or how it is configured, so these are just suggested things to consider. - Also want to let you know you must be running an older HDF version. Newer versions support editing the URL string without needing to recreate the RPG. - Thank you, Matt
... View more
07-13-2018
12:59 PM
Conceptually the flow might look something like this: Thank you, Matt - When an "Answer" addresses/solves your question, please select "Accept" beneath that answer. This encourages user participation in this forum.
... View more
07-13-2018
12:49 PM
1 Kudo
@rajat puchnanda - NiFi is generally designed for independent FlowFile operation. A NiFi processor component is designed to execute against a FlowFile with no regard to other FlowFiles in the flow or coming in to the flow. - NiFi did however introduce some processors that can help achieve the logic you are looking for with some limitations. Those processors in NiFi that will allow such logic in a dataflow design would be the Wait and Notify processors. - The wait processors is designed to allow FlowFiles to pass only when a release signal is matched. The Notify processor is responsible for setting that release signal. - Question 1: You stated that you have multiple CSV files and each of those CSV files contains "date_column". Is that a single line per each incoming CSV file? or is each file a multi-line CSV file where there is a date that needs to validated in the date_column of each line? - Question 2: Are you try to fail the just a single file if any one line in it fails to validate against the date_column or are you trying to fail every file if the date column fails to validate in any one of the files? - Question 3: Do you know how many files are going to be processed? Even with Wait and Notify processors, you need to be able to tell the NiFi dataflow in this case how many files are expected; otherwise, the flow would have no way of knowing if it is complete and can release the files downstream. - The solution here may be multipart, but it all starts with knowing exactly how many files you are dealing with. Depending on the answers to above questions, you may be able to accomplish this using the below link as a reference only: https://gist.github.com/ijokarumawak/375915c45071c7cbfddd34d5032c8e90 *** This covers incoming CSV where each CSV contains only a single date_column field that needs to be validated. You must know number of incoming FlowFiles in your batch. - or you mat find yourself needing to employ the concepts covered in below link in conjunction with above link: http://ijokarumawak.github.io/nifi/2017/02/02/nifi-notify-batch/ *** This scenario covers a two phase wait and notify to handle a scenario where each CSV has multiple lines each with a dat_column to be validated. While it talks about two phase splitting, instead phase one would be based on first link above and second wait/notify loop would be based on splitting each CSV into individual FlowFiles per line to be evaluated. - Thank you, Matt
... View more
07-12-2018
12:46 PM
@Nikhil - *** Forum tip: Please try to avoid responding to an Answer by starting a new answer. Instead use the "add comment" tp respond to en existing answer. There is no guaranteed order to different answers which can make following a response thread difficult especially when multiple people are trying to assist you. - You get a verbose output form your keystore using the keytool command - keytool -v -list -keystore <keystore.jks file> - Look to see if your PrivateKeyEntry has any "ExtendedKeyUsages" listed. It would look something like this: #3: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
clientAuth
serverAuth
] - Since you commented that the RPG works correctly when you use the URLs for the nodes directly, the certificates must support clientAuth then. This sounds more like a LB configuration issue. The certificate is being sent to the LB, but the LB is not forwarding that client cert on to the target end-point. - It is also not clear to me why you would configure your RPG to point at your LB instead of at one or more of the NiFi nodes directly? ----- The RPG will retrieve details about the entire target NiFi cluster when it connects and store/update that locally. So there really is no need for a LB in front of the RPG. - Thank you, Matt
... View more
07-11-2018
07:02 PM
@David Miller A Jira was raised to address that concern and the improvement was made in Apache NiFi 1.7.0: https://issues.apache.org/jira/browse/NIFI-5208
... View more
07-11-2018
05:34 PM
@Rakesh S - NiFi is very capable of hitting those numbers.... But it is impossible for anyone to say base on the little information provided. NiFi requires very little resources to run. It is the dataflows/use cases which users design and how they implement those in NiFi that impact load on the available resources of the server. - So while those throughput numbers may be possible in one users dataflow implementation, they may not be for another user. The best option is to perform so load testing in your Final NiFi design to see how it performs and what resources it ends up consuming. Then tweak your dataflows design implementation to achieve better throughput. - Thanks, Matt
... View more
07-11-2018
05:28 PM
1 Kudo
@Nikhil NiFi Site-To-Site uses two-way TLS authentication. - Check to make sure the keystore file being used on each of your NiFi nodes contains a single "PrivateKeyEntry" and make sure the PrivateKeyEntry supports both the ClientAuth and ServerAuth key usage. - If the PrivateKeyEntry supports serverAuth only, the NiFi service will not be able to provide a client certificate in the TLS handshake. - I also noticed timestamps for entries in your nifi-user.log to not match with timestamps from the shared nifi-app.log file. The entries specifically shared are not directly related to one another. - Thank you, Matt -
... View more
07-11-2018
04:53 PM
@David Miller I don't understand the concern with a "disconnected node" still receiving data from a load-balancer? Just because a node is disconnected does not mean it is not still running its dataflow(s). If the NiFi service or hosting server is down, their will be no running listener to receive data from the load-balancer, so the LB should failover to a different server.
... View more
07-11-2018
03:49 PM
@Ilya Li - Each NiFi processor component must complete its execution before the triggering FlowFile is routed to one of the outbound relationships from the incoming connection. - Using you example: the PutSQL processor would execute based on an incoming Flow or batch of incoming FlowFiles. Should NiFi completely die in the middle of the scheduled execution. Upon NiFi recover the FlowFile or Batch of Flowfiles would still be located on incoming connection to the putSQL processor and the same execution would occur again. - Thank you, Matt - When an "Answer" addresses/solves your question, please select "Accept" beneath that answer. This encourages user participation in this forum.
... View more
07-11-2018
02:42 PM
@Rakesh S - Short answer: The Cluster Coordinator has no role in data distribution within a cluster. Each NiFi node only works on data it specifically receives. -
... View more