Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

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.