- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
site to site from http to http
- Labels:
-
Apache NiFi
Created ‎11-22-2016 11:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to push data from NiFi instance (A) to another NiFi instance (B) with below configurations -
site to site properties in A
- nifi.remote.input.host=FQDN of B
- nifi.remote.input.secure=false
- nifi.remote.input.socket.port=8443
- nifi.remote.input.http.enabled=true
- nifi.remote.input.http.transaction.ttl=30 sec
site to site properties in B
- nifi.remote.input.host=FQDN of A
- nifi.remote.input.secure=false
- nifi.remote.input.socket.port=8443
- nifi.remote.input.http.enabled=true
- 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.
Created ‎11-22-2016 01:13 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Created ‎11-22-2016 01:13 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Created ‎11-22-2016 01:50 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Created ‎11-22-2016 04:43 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@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?
Created ‎11-22-2016 05:15 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
