Member since
07-30-2019
3146
Posts
1566
Kudos Received
911
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
67 | 01-21-2025 06:16 AM | |
121 | 01-16-2025 03:22 PM | |
214 | 01-09-2025 11:14 AM | |
1329 | 01-03-2025 05:59 AM | |
526 | 12-13-2024 10:58 AM |
03-10-2017
08:38 PM
@vikash kumar The RouteOnAttribute processor expects that a NiFi expression Language statement is used. If the the evaluation of that EL statement results in a true, then the FlowFile will be routed to the corresponding property name's relationship. Here is an example that will route FlowFile where the value associated to "file.lastModifiedTime" on the incoming FlowFile falls within the last 24 hours to the
"last24hours" relationship: Here is the full EL statement so you can copy it: ${file.lastModifiedTime:toDate("yyyy-MM-dd'T'HH:mm:ssZ"):toNumber():ge(${now():minus(86400000)})} Thank you, Matt
... View more
03-10-2017
07:40 PM
@vikash kumar
Are you looking for files where the "file.lastModifiedTime" is exactly 2017-03-08'T'11:00:00Z? Or are you looking for all files created at that time and newer?
... View more
03-10-2017
06:43 PM
@vikash kumar Can you share the NiFi expression language routing rule you created in your RouteOnAttribute processor? The rule must evaluate to "true" before a FlowFile will be routed to that relationship.
... View more
03-10-2017
03:36 PM
@vikash kumar You can use the ListSFTP processor to list all files on your SFTP server. The ListSFTP processor will create a 0 byte file with the following additional attributes written to it: Take the success relationship of the ListSFTP and send it to a routeOnAttribute processor. Use the routeOnAttribute processor to route on those FlowFiles where the attribute "file.lastModifiedTime" date falls within your desired range to a FetchSFTP processor. All other listed files could just be auto-terminated. Thanks, Matt
... View more
03-10-2017
01:34 PM
@Mehul Shah No problem. At the bottom of every answer is a line that says:
Simply click on "Accept" under the answer that helped resolve your issue.
As a future note, avoid adding new answers as responses to other answers. Responses should be made as comments so that it is one continuous thread for other users searching for answers to the same issue. Thanks again, Matt
... View more
03-10-2017
01:18 PM
@Mehul Shah Glad to hear you are up and running If the provided answer solved your issue, please accept the answer. Thanks, Matt
... View more
03-10-2017
01:08 PM
3 Kudos
@Mehul Shah You NiFi is failing to start because your Java cannot decrypt your keystore: Caused by: java.io.IOException: exception decrypting data - java.security.InvalidKeyException: Illegal key size at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.cryptData Java supports only 128-bit encryption by default.
128bits == 16Bytes == 16 Chars. So the cryptKey used by your keystore cannot exceed 16 characters.
If you want to exceed more than 16 character you have to install Java Cryptography Extension (JCE) Unlimited Strength. You will either need to obtain new keystore which uses a simpler password or install the JCE to your Java install. Thanks, Matt
... View more
03-09-2017
07:59 PM
1 Kudo
@Kuntesh Bharucha Are you using NiFi's embedded ZK or an external ZK? Have you configured the state-management.xml file with the connection string for your ZK nodes? In a NiFi cluster, ZK is used to maintain the cluster wide sate of some processors. Those processors will attempt to use the state manager even if it has not been setup correctly or at all. Thanks, Matt
... View more
03-09-2017
05:06 PM
1 Kudo
@Oliver Fletcher
Lets assume you have Node A, Node B, and Node C in your NiFi cluster. Now your AD user is logged into Node A and runs a provenance query. That provenance query is propagated to all other nodes (A, B, and C) by Node A. Each node runs the query which may return 0 to many results (Actually looking in the nifi-app.log of each node will show a log line that indicates the number of returned results) All those results are returned to the node A where your user is logged in for display in the provenance UI. Node A upon receiving these events will check to see which results Node A is allowed to access to. In you case your user has access to the data but your nodes do not.
The nodes must be granted the access to the data of the component(s) the provenance results belong to. Generally speaking you set data access policies at the process group level and all components and process groups contained within the process group inherit those parent access policies. For you, you will need the UUID of your root process group. Then in ranger you would add a new policy that grants all your nodes access to "/data/process-group/<uuid of root process group>" resource. After doing so, try running your query again and you should see results. You should already have an existing policy in Ranger which grants all your nodes the /proxy resource. Thanks, Matt
... View more
03-09-2017
03:11 PM
@Christophe Vico This appears to be an issue between Ranger and Solr and have nothing to do with NiFi at all. I suggest updating your tags on this post to include Solr.
... View more