Member since
07-30-2019
3427
Posts
1632
Kudos Received
1011
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 89 | 01-27-2026 12:46 PM | |
| 498 | 01-13-2026 11:14 AM | |
| 1075 | 01-09-2026 06:58 AM | |
| 925 | 12-17-2025 05:55 AM | |
| 986 | 12-15-2025 01:29 PM |
01-25-2018
10:11 PM
@Chad Ewing Is this a NiFi Cluster? Do you have an external load-balancer sitting in front of your NiFi URL? If so you need to make sure you have enable sticky sessions. A Token is only good for the node from which it was issued. So If subsequent requests to a load-balanced URL go to a different node the token your browser presents will not be known to that node. Thank you, Matt
... View more
01-23-2018
04:43 PM
@Jan Can we keep each post in community.hortonworks.com to a single question? The above is no longer an TLS handshake issue. It is an authorization issue. Please start a new question for this topic. Accepting an answer for this question will close this thread. Thank you, Matt
... View more
01-23-2018
03:51 PM
1 Kudo
@Jan Why only one node? Are you installing both NiFi and MiNiFi on the same server? I would execute the 'hostname -f" command on both the server where NiFi is installed and the server wheer MiNiFi is/will be installed. Then use those full hostnames in the tls-tookit.sh script to create two keystores for use on these two instances ./tls-toolkit.sh standalone -n '<nifi.hostname>,<minifi.hostname>' -C 'CN=<nifiuser>, OU=NIFI' -P <truststore passsword> -S <keystorepassword>
You will end up with a directory for each server being created that contains the needed TLS configuration info/files. If you want to include SAN to your new certificates, you will need to create each one at a time: ./tls-toolkit.sh standalone -n '<nifi.hostname>' -C 'CN=<nifiuser>, OU=NIFI' -P <truststore passsword> -S <keystorepassword> --subjectAlternativeNames '<nifi-ip-address>,<etc>'
./tls-toolkit.sh standalone -n '<minifi.hostname>' -P <truststore passsword> -S <keystorepassword> --subjectAlternativeNames '<minifi-ip-address>,<etc>' You should not need to any SAN entry if you generate your keystores using the actual hostnames assigned to your servers. Also make sure that the following properties have been set to the appropariate hostnames as well in the nifi.properties file: nifi.remote.input.host= nifi.web.https.host= Once your NiFi server is using the new keystore and truststore files, you can use the nifi server hostname in the RPG. Thanks, Matt
... View more
01-23-2018
02:30 PM
@Jan What process did you follow to create the keystore and truststore you are using now? You will need to create a new keystore and truststore. Thanks, Matt
... View more
01-23-2018
02:28 PM
@Shashwat Gaur The overall throughput of NiFi is not being limited in any way at the NiFi software level. In most cases throughput is limited by CPU, Disk I/O, Memory, and/or network performance. I would check if any of the above are saturated. It is important that installation best practices are followed to maximize your throughput. At a minimum having the following located on separate physical disks (disks should be setup as RAIDs to protect your data) will help: - Content repository(s) - FlowFile repository - Provenance repository(s) - NiFI logging directory. When it comes to controlling throughput in your dataflow, look for bottleneck in your dataflow and check that you have optimized your processor components for concurrent tasks and run schedules. If your CPU is not saturated, consider increasing the number of configured threads you are allowing NiFi to hand out to its processor components in the "controller settings" (found under hamburger menu in upper right corner of NiFi UI). Change the value for "Max Timer Driven Thread Count". Good starting place is 2 - 4 times number of cores on a single NiFi instance (all settings are per node in a cluster). There is also a setting for "Max Event Driven Thread Count" which should be left unchanged. These event driven threads are experimental and not used by any NiFi components by default. If you find a lot of Garbage Collection is going on or you are hitting OutOfMemory(heap) exceptions, you may need to increase your heap allocation in the nifi bootstrap.conf file. You may also need to make dataflow design changes to reduce the heap footprint of your flow. Thank you, Matt
... View more
01-23-2018
01:56 PM
@Jan Tip: add comments to existing answers unless you are really starting a new answer thread. From a security standpoint, using "localhost" in a certificate is not a good idea. As far as SAN entries go, they must be added during the certificate creation process. I am not clear on why you would build a dataflow that will be used on a MiNiFi instance to talk back to itself (MiNiFi)? Or are you trying to create a dataflow to convert into a yml file which will include an RPG that is pointing back to your main NiFi instance. If the latter is the case, you will need to have separate keystore and truststore for each NiFi instance (MiNiFi and NiFi). As long as all certificates are signed by the same CA, a single truststore that contains a trustedCertEntry for that shared CA can be used on both MiNiFi and NiFi installs. If both certificates are self signed, you will need to make sure the public cert is loaded in to each others truststores or the TLS handshake will fail. If you are just creating keystores and truststores to play around with, you could use something like tinycerts to generate them for you. https://www.tinycert.org/ Thank you, Matt If you found this answer addressed your original question, please take a moment to click "accpet" below the answer.
... View more
01-23-2018
12:36 PM
@Jan This error is telling you the hostname in the URL header does not match the owner or any Subject Alternative Names (SAN) in the server certificate being presented by the target server. For example: You configure an RPG with a target NiFi URL of "https://nifiserver:9443/nifi". During the TLS handshake the server identifies itself based on the contents of its keystore as "nifiserver01.corp.com". The above error is thrown because it appears some other server is trying to pretend to be intended destination server "nifiserver". NiFi's Site-to-SIte (S2S) capability uses the keystore and truststore configured in the nifi.properties file of both NiFi instances (Client side running RPG and server side running input/output ports) for the TLS handshake. You will want to perform a verbose listing of the keystore file on your target Nifi and make sure the following are true: 1. The keystore contains only a single PrivateKeyEntry 2. The owner of that single PrivateKeyEntry has a CN value or a SAN entry that matches the hostname of that server. Then make sure that you are using either the owner CN or one of the SAN entries in the URL used in your client side RPG. Thanks, Matt
... View more
01-19-2018
02:35 PM
2 Kudos
@Andrew Twigg Make sure that your keystore and certs meet the following: - The keystore file used on each server contains only a single PrivateKeyEntry. - The certificate in the keystore has an extended key usage that includes both client auth and server auth Thank you, Matt
... View more
01-18-2018
06:52 PM
@Alvin Jin Looks like you are hitting https://issues.apache.org/jira/browse/NIFI-4761 If you add a local host entry on your box that resolved "nifi-0.svc" to the IP associated to "master-ip", that should work if putting https://nifi-0.svc:9443/nifi/ does not work already. Is that master node ip the same ip that is assigned to nifi-0.svc? If so, try setting the nifi.web.https.host= to the IP instead of the hostname. Thanks, Matt
... View more