Created on 03-22-2017 09:01 PM - edited 08-18-2019 03:43 AM
Hi All,
I'm trying to have NiFi Provenance data from the NiFi cluster sent to a standalone NiFi instance. Both NiFi instances are unsecure; I followed the instructions in this post - https://community.hortonworks.com/articles/72727/extracting-nifi-provenance-data-using-sitetositepr....
My setup is shown below; I modified the site-to-site properties in nifi.properties file of the Provenance instance and setup the SiteToSiteProvenanceReportingTask on the NiFi Cluster, the properties of that are listed in the image below;
When I start the SiteToSiteProvenanceReportingTask, I see the "Connection refused" error in the 2nd picture below;
Any help is appreciated.
Thanks,
Created 03-22-2017 09:23 PM
The nifi.remote.input.host property should be set to the hostname of the node on which you are configuring this file.
Based on the above it appears you set the hostname of your other NiFi Instance.
NiFi instance abc.domain.com should have nifi.remote.input.host set to abc.domain.com
NiFi S2S works as follows:
xyz.domain.com connects to the http URL of abc.domain.com:9090/nifi. abc.domain.com then responds back to xyz.domain.com that data should be transmitted to <nifi.remote.imput.host> over port <nifi.remote.input.socket.port>
*** This is done this way in case the target is actually a cluster. The S2S response to the initial connection would in that case include the remote.input.host and remote.input.socket.port from every node in the target NiFi cluster so data could be load-balanced.
So in your case after initial connection, abc is telling xyx to send data to himself over port 10000 which is going to get refused.
Thanks,
Matt
Created 03-22-2017 09:23 PM
The nifi.remote.input.host property should be set to the hostname of the node on which you are configuring this file.
Based on the above it appears you set the hostname of your other NiFi Instance.
NiFi instance abc.domain.com should have nifi.remote.input.host set to abc.domain.com
NiFi S2S works as follows:
xyz.domain.com connects to the http URL of abc.domain.com:9090/nifi. abc.domain.com then responds back to xyz.domain.com that data should be transmitted to <nifi.remote.imput.host> over port <nifi.remote.input.socket.port>
*** This is done this way in case the target is actually a cluster. The S2S response to the initial connection would in that case include the remote.input.host and remote.input.socket.port from every node in the target NiFi cluster so data could be load-balanced.
So in your case after initial connection, abc is telling xyx to send data to himself over port 10000 which is going to get refused.
Thanks,
Matt
Created 03-23-2017 03:12 PM
@Matt Clarke thank you, it worked perfectly. And thanks for the explanation as well.
In the post I was using as reference, both instances were hosted on the same machine, so I couldn't quite figure out this difference that you elaborated on.