Member since
07-30-2019
3467
Posts
1641
Kudos Received
1015
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 414 | 03-23-2026 05:44 AM | |
| 322 | 02-18-2026 09:59 AM | |
| 565 | 01-27-2026 12:46 PM | |
| 999 | 01-20-2026 05:42 AM | |
| 1316 | 01-13-2026 11:14 AM |
01-23-2020
05:51 AM
@DivyaKaki Once you configure NiFi to operate securely over https, TLS based authentication is required fro all NiFi node communications. This requires that each node in your NiFi cluster has its own keystore.jks that meets the following criteria: 1. NiFi keystore can only contain ONE PrivateKeyEntry. 2. The keystore password must match the PriavteKeyEntry (Key password) or have no password on the key. 3. The PrivateKeyEntry can not use wildcards. 4. The PrivateKeyEntry must support both clientAuth and serverAuth ExtendedKeyUsage (EKU). 5. The PrivateKeyEntry must contain at least one Subject Alternative Name (SAN) that matches the hostname of the server on which the keystore is being used. The NiFi truststore will contain one or more TrustedCertEntries. These are public keys used to verify trust of any presented client certificate during a TLS handshake. You typically build one truststore which you then install on every NiFi server. With self signed certificates, the public cert for every one of those must exist as an TrustedCertEntry in the common truststore. Any self-signed user certificate must exist as a trustedCertEntry in the truststore as well. If your PrivateKeyEntry was signed (issuer) by some certificate authority, then the complete certificate trust chain for that signed certificate should exist as TrustedCertEntries in your truststore. NiFi nodes will use mutual TLS handshake when communicating with one another. This means a NiFi nodes will be the clients at times and as servers at other times in the TLS handshake which is why the need for clientAuth and serverAuth EKUs. When it comes to user authentication in to NiFi, the default method is also TLS, thus requiring that you have a user certificate which can be trusted by the NiFi servers truststores. NiFi can also be configured to support other methods for user authentication to include things like kerberos, LDAP, and OpenID connect. Details on how to use the NiFi TLS toolkit can be found here: https://nifi.apache.org/docs/nifi-docs/html/toolkit-guide.html#tls_toolkit Keep in mind that if you use this in standalone mode to create a keystore and trusttore for each node in your NiFi cluster, you will need to merge all the truststores created in to one truststore you will use on all hosts. Plus you will need to import your user certificate public cert as well in to this truststore, so your user can authenticate. Hope this helps, Matt
... View more
01-22-2020
01:59 PM
@Alexandros You can accomplish this use ReplaceText with a more complex Java regular expression. The Replace Text is designed to replace every occurrence of the string matched by your java regular expression with the replacement value. So you are probably seeing your replacement value inserted into your existing content twice. Try using the following java regular expression which will match your entire 3 lines of content: .*\n.*?(\d{2}.\d{4}).*?\n.*?(\d{2}.\d{4}).* Leave your replacement value as you already have it and make sure you have Evaluation mode still set to Entire text. Hope this helps, Matt
... View more
01-22-2020
01:19 PM
1 Kudo
@murali2425 The Apache NiFi-registry binary downloads include a "run-nifi-registry.bat" file in the bin directory which you would use to start NiFi-Registry on Windows. Hope this helps, Matt
... View more
01-22-2020
01:03 PM
1 Kudo
@VijaySankar What version of NiFi are your running? It is extremely likely you have encountered following bug: https://issues.apache.org/jira/browse/NIFI-6210 So if you are not running Apache NiFi 1.10 or newer, you are exposed to this bug specifically affecting the Hive 3 NiFi components. Hope this helps, Matt
... View more
01-17-2020
02:05 PM
@JamesE You can handle this easily using a different set of Java Regular Expressions: .*action=(.*?) .*
.*srcip=(.*?) .*
.*timestamp=(.*?) .* If it is possible that any one of these fields may be the very last field in the content line, for this to work you would need to append a blank space to the end of the content using the ReplaceText processor before sending your FlowFile to your ExtractText processor. You need to have a blank space following each value so regex know where the value ends for each field. Your ReplaceText processor configuration would look like this: The "Replacement Value" is just a single space. Hope this helps, Matt
... View more
01-17-2020
01:36 PM
@JamesE This is easy enough do using the splitContent processor: for the "Byte Sequence" property simply hit your spacebar to set a single space. If you found this answer addressed your question, please take a moment to accept to resolve this thread. Hope this helps, Matt
... View more
01-16-2020
10:23 AM
@JamesE The ExtractText processor is used to extract text from the content of the FlowFie using a Java Regular Expression and insert that extracted text in to FlowFile attributes. So using your FlowFile content example here: srcip=10.10.10.10 timestamp=152532431 action="denied" What is your desired end result? Three separate FlowFileAttributes? One for each "word" (srcip, timestamp, and action). Assuming above, you would add three new properties to the ExtractText processor (one for each extracted value) as follows: For each dynamic property added via the "+" icon, The property name becomes the FlowFile attribute name and the resulting string from capture group within the Java regular expression becomes the value assigned to that new FlowFile attribute. Hope this helps, Matt
... View more
01-16-2020
09:36 AM
@justenji That bug was actually introduced through a change that went in to NiFi 1.8 that pushed included the enabled/disabled state to registry. But NiFi registry shipping at that time had not yet been updated to store this new parameter. Do you still see the issue even after upgrading to NiFi-Registry 0.5?
... View more
01-10-2020
05:14 AM
@justenji What version of NiFi-Registry are you using? If the NiFi-Registry version is older then 0.5.0, you will encounter this bug. https://issues.apache.org/jira/browse/NIFI-6025 Hope this helps, Matt
... View more
01-08-2020
05:03 PM
2 Kudos
@VijaySankar Is there a full stack trace that follows the error message in the actual nifi-app.log? Is this a multi-node NiFi cluster that perhaps has multiple Nodes installed and running on the same server? If so, when you start the processor only one node is going to be able to bind to the configured port and the other nodes will throw the exception. Since both nodes are on the same host, the processor will appear as though it is working because the node that did bind will receive the requests. It is also possible that port 9099 is not unused on every host in your NiFi cluster. Since the bulletin you are sharing indicates a specific hostname:port, it is possible that port 9099 is already in use by some other process on that one host. But on your other host(s) it is not in use and binds successfully allowing those host(s) to receive request fine. I recommend stopping the HandleHttpRequest processor and then from command line check to see if there is anything still listening on port 9099. If so, you'll need to use another port that is available on all your NiFi nodes. Hope this helps, Matt
... View more