Support Questions

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

site to site from http to http

avatar
Rising Star

I am trying to push data from NiFi instance (A) to another NiFi instance (B) with below configurations -

site to site properties in A

  1. nifi.remote.input.host=FQDN of B
  2. nifi.remote.input.secure=false
  3. nifi.remote.input.socket.port=8443
  4. nifi.remote.input.http.enabled=true
  5. nifi.remote.input.http.transaction.ttl=30 sec

site to site properties in B

  1. nifi.remote.input.host=FQDN of A
  2. nifi.remote.input.secure=false
  3. nifi.remote.input.socket.port=8443
  4. nifi.remote.input.http.enabled=true
  5. nifi.remote.input.http.transaction.ttl=30 sec

I configured RPG, could browse to the remote host using 'Go To' but couldn't see any ports in Remote Ports.

1 ACCEPTED SOLUTION

avatar

Let's simplify the config to eliminate misconfiguration in other areas. If you want A to initiate the connection, you can remove those nifi.remote.* properties on the A side. Next, the port 8443 is not the best choice, as it often is used for https on non-privileged port. It's not even required now, as NiFi's s2s can tunnel over HTTP. Remove input.socket.port on the B side.

Finally, please share which URL you used in the RPG setup (the UI on the A side). The GoTo action simply opens a new browser window. What we are looking for is being able to Refresh the RPG and see ports after 20-30 seconds after initial setup.

Few more things to validate. I understand this is not a secured instance, so port access permissions aren't in play. Make sure, though, that instance B has input/output ports added the root top-level processing group, this is a requirements for the s2s.

View solution in original post

4 REPLIES 4

avatar

Let's simplify the config to eliminate misconfiguration in other areas. If you want A to initiate the connection, you can remove those nifi.remote.* properties on the A side. Next, the port 8443 is not the best choice, as it often is used for https on non-privileged port. It's not even required now, as NiFi's s2s can tunnel over HTTP. Remove input.socket.port on the B side.

Finally, please share which URL you used in the RPG setup (the UI on the A side). The GoTo action simply opens a new browser window. What we are looking for is being able to Refresh the RPG and see ports after 20-30 seconds after initial setup.

Few more things to validate. I understand this is not a secured instance, so port access permissions aren't in play. Make sure, though, that instance B has input/output ports added the root top-level processing group, this is a requirements for the s2s.

avatar
Rising Star

Thanks for the quick answer @Andrew Grande.

  • Used 8443 port because we have very limited ports available to use and for now we are testing non-secured instance. Thanks for the suggestion, shall follow best practices.
  • Removed nifi.remote.* properties on the A side.
  • Removed input.socket.port on the B side.
  • http://B-hostname:8080/nifi/ is the URL and HTTP is the transport protocol used in RPG setup.
  • I am not much into this, may I please know how to make sure input/output ports added the root top-level processing group on B?

I did the suggested changes but couldn't see the ports in RPG after initial setup.

avatar

@spdvnz @Andrew Grande By input/output being in root Top level processing group what Andrew means is that it shouldn't be part of a process group. If you look at bottom left hand corner, your input port should be under NiFi Flow, not under a process group.

Also, site to site property in B should have nifi.remote.input.host=FQDN of B.

instance A of NiFi will initially talk to instance B of Nifi on public port ( how you access instance B UI ). Then instance B will reply with information available in nifi.remote.* properties. instance A, will then communicate with instance B on host and port specified in remote properties.

Can you please post a screenshot of your setup?

avatar
Rising Star

Thanks for explaining the missing bits @Shishir Saxena, this is very valuable information.

I moved the input/output ports to root level processing group and I could transfer data from A to B.