Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

NiFI SiteToSiteProvenanceReportingTask error - connection refused

avatar
Expert Contributor

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,

13953-s2s-prov-error.png

13954-sitetositeprovenancereportingtask-error.png

1 ACCEPTED SOLUTION

avatar
Master Mentor
@Raj B

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

View solution in original post

2 REPLIES 2

avatar
Master Mentor
@Raj B

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

avatar
Expert Contributor

@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.