You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@nifi.apache.org by Brian Jeltema <bd...@gmail.com> on 2016/12/07 16:28:54 UTC

problem creating simple cluster

I’m trying to create my first cluster using NiFi 1.1.0. It’s a simple
3-node unsecure configuration with each node running embedded
zookeeper. The instances all come up and the zookeeper quarum is
reached.

If I bring up the UI for the node that is elected as the 
cluster coordinator, it works as expected, and shows that 3 nodes
are participating in the cluster.

However, if I attempt to display the UI on the non-coordinator nodes,
after a delay of about 10 seconds an error page is returned. The
logs contains a stream of exceptions similar to the following:

2016-12-07 11:08:17,914 WARN [Replicate Request Thread-2] o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET /nifi-api/flow/current-user to localhost:8080 due to {}
com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out
	at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155) ~[jersey-client-1.19.jar:1.19]
	at com.sun.jersey.api.client.Client.handle(Client.java:652) ~[jersey-client-1.19.jar:1.19]
	at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.jar:1.19]
	at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) ~[jersey-client-1.19.jar:1.19]
	at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) ~[jersey-client-1.19.jar:1.19]
	at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509) ~[jersey-client-1.19.jar:1.19]
	at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578) ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
	at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:770) ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_101]
	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[na:1.8.0_101]
	at java.net.SocketInputStream.read(SocketInputStream.java:170) ~[na:1.8.0_101]
	at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_101]
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[na:1.8.0_101]
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[na:1.8.0_101]
	at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[na:1.8.0_101]
	at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704) ~[na:1.8.0_101]
	at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647) ~[na:1.8.0_101]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536) ~[na:1.8.0_101]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441) ~[na:1.8.0_101]
	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[na:1.8.0_101]
	at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253) ~[jersey-client-1.19.jar:1.19]
	at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153) ~[jersey-client-1.19.jar:1.19]
	... 12 common frames omitted

The nifi.properties file contains the following, with nifi.cluster.node.address set appropriately on each node

     # cluster node properties (only configure for cluster nodes) #
     nifi.cluster.is.node=true
     nifi.cluster.node.address=172.31.1.247
     nifi.cluster.node.protocol.port=8081
     nifi.cluster.node.protocol.threads=10
     nifi.cluster.node.event.history.size=25
     nifi.cluster.node.connection.timeout=5 sec
     nifi.cluster.node.read.timeout=5 sec
     nifi.cluster.firewall.file=
     nifi.cluster.flow.election.max.wait.time=5 mins
     nifi.cluster.flow.election.max.candidates=3

     # zookeeper properties, used for cluster management #
     nifi.zookeeper.connect.string=172.31.13.177:2181,172.31.1.247:2181,172.31.1.69:2181
     nifi.zookeeper.connect.timeout=3 secs
     nifi.zookeeper.session.timeout=3 secs
     nifi.zookeeper.root.node=/nifi

I’ve run out of ideas; I presume I’ve overlooked some simple configuration value, but I can’t find it.
Any help out there?

Thanks
Brian


Re: problem creating simple cluster

Posted by Brian Jeltema <bd...@gmail.com>.
I had assigned  values to nifi.web.http.host, but that didn't work (the first time).
After a bunch of fiddling around, I tried that again, and now the cluster is working.
I don't know what the original problem was, but I'm good now.

Thanks.

On Dec 7, 2016, at 9:06 PM, Matthew Clarke <ma...@gmail.com> wrote:

> In the NiFi.properties file is a property just above your http.port=8080 for the http.host= . If that field is left blank. UI requested that are replicated between node's may end up using localhost. Make sure this property is set to the Nodes hostname or IP addresses on every node. A restart will be needed before any changes to the NiFi.properties file to take affect.
> 
> Thanks, 
> Matt
> 
> On Dec 7, 2016 8:21 PM, "Koji Kawamura" <ij...@gmail.com> wrote:
> Sorry, I overlooked the nifi.properties settings you shared.
> Would you share what you can see on the NiFi "Cluster window", from
> right top Hamburger menu, especially the 'Node Address' column?
> 
> Thanks,
> Koji
> 
> On Thu, Dec 8, 2016 at 10:10 AM, Koji Kawamura <ij...@gmail.com> wrote:
> > Hi Brian,
> >
> > Are those three node running on a same host using different port? Or
> > running on different hosts?
> > nifi.properties has nifi.cluster.node.address configuration, which is
> > used by a NiFi node to tell how other NiFi nodes should access the
> > node.
> >
> > If the property is blank, NiFi uses 'localhost' as node hostname.
> > I think that's why the node tried to replicate the request to 'localhost:8080'.
> >
> > If so, the property should be set with a hostname that is accessible
> > from other nodes.
> >
> > Or, if there's any firewall among nodes,
> > nifi.web.http.port
> > nifi.cluster.node.protocol.port
> > should be opened.
> >
> > I sometimes forget this on AWS with security group setting then get
> > timeout error.
> >
> > Thanks,
> > Koji
> >
> > On Thu, Dec 8, 2016 at 2:59 AM, Brian Jeltema <bd...@gmail.com> wrote:
> >> The cluster is not running securely, so I don’t believe that file is
> >> relavent. In the stack trace,
> >> the reference to /nifi-api/flow/current-user is misleading - I think any
> >> nifi-api call has problems.
> >>
> >> On Dec 7, 2016, at 12:37 PM, James Wing <jv...@gmail.com> wrote:
> >>
> >> Brian,
> >>
> >> Did you add entries for the node DNs in the conf/authorizers.xml file?
> >> Something like:
> >>
> >> <!-- Provide the identity (typically a DN) of each node when clustered, see
> >> above description of Node Identity. -->
> >> <property name="Node Identity 1">CN=node1.nifi, ...</property>
> >> <property name="Node Identity 2">CN=node2.nifi, ...</property>
> >> ...
> >>
> >> Thanks,
> >>
> >> James
> >>
> >> On Wed, Dec 7, 2016 at 8:28 AM, Brian Jeltema <bd...@gmail.com> wrote:
> >>>
> >>> I’m trying to create my first cluster using NiFi 1.1.0. It’s a simple
> >>> 3-node unsecure configuration with each node running embedded
> >>> zookeeper. The instances all come up and the zookeeper quarum is
> >>> reached.
> >>>
> >>> If I bring up the UI for the node that is elected as the
> >>> cluster coordinator, it works as expected, and shows that 3 nodes
> >>> are participating in the cluster.
> >>>
> >>> However, if I attempt to display the UI on the non-coordinator nodes,
> >>> after a delay of about 10 seconds an error page is returned. The
> >>> logs contains a stream of exceptions similar to the following:
> >>>
> >>> 2016-12-07 11:08:17,914 WARN [Replicate Request Thread-2]
> >>> o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET
> >>> /nifi-api/flow/current-user to localhost:8080 due to {}
> >>> com.sun.jersey.api.client.ClientHandlerException:
> >>> java.net.SocketTimeoutException: Read timed out
> >>> at
> >>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.Client.handle(Client.java:652)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at
> >>> com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at
> >>> org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578)
> >>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
> >>> at
> >>> org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:770)
> >>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
> >>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> >>> [na:1.8.0_101]
> >>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> >>> [na:1.8.0_101]
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> >>> [na:1.8.0_101]
> >>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
> >>> Caused by: java.net.SocketTimeoutException: Read timed out
> >>> at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_101]
> >>> at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
> >>> ~[na:1.8.0_101]
> >>> at java.net.SocketInputStream.read(SocketInputStream.java:170)
> >>> ~[na:1.8.0_101]
> >>> at java.net.SocketInputStream.read(SocketInputStream.java:141)
> >>> ~[na:1.8.0_101]
> >>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
> >>> ~[na:1.8.0_101]
> >>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
> >>> ~[na:1.8.0_101]
> >>> at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
> >>> ~[na:1.8.0_101]
> >>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)
> >>> ~[na:1.8.0_101]
> >>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
> >>> ~[na:1.8.0_101]
> >>> at
> >>> sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536)
> >>> ~[na:1.8.0_101]
> >>> at
> >>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
> >>> ~[na:1.8.0_101]
> >>> at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
> >>> ~[na:1.8.0_101]
> >>> at
> >>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at
> >>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> ... 12 common frames omitted
> >>>
> >>> The nifi.properties file contains the following, with
> >>> nifi.cluster.node.address set appropriately on each node
> >>>
> >>>      # cluster node properties (only configure for cluster nodes) #
> >>>      nifi.cluster.is.node=true
> >>>      nifi.cluster.node.address=172.31.1.247
> >>>      nifi.cluster.node.protocol.port=8081
> >>>      nifi.cluster.node.protocol.threads=10
> >>>      nifi.cluster.node.event.history.size=25
> >>>      nifi.cluster.node.connection.timeout=5 sec
> >>>      nifi.cluster.node.read.timeout=5 sec
> >>>      nifi.cluster.firewall.file=
> >>>      nifi.cluster.flow.election.max.wait.time=5 mins
> >>>      nifi.cluster.flow.election.max.candidates=3
> >>>
> >>>      # zookeeper properties, used for cluster management #
> >>>
> >>> nifi.zookeeper.connect.string=172.31.13.177:2181,172.31.1.247:2181,172.31.1.69:2181
> >>>      nifi.zookeeper.connect.timeout=3 secs
> >>>      nifi.zookeeper.session.timeout=3 secs
> >>>      nifi.zookeeper.root.node=/nifi
> >>>
> >>> I’ve run out of ideas; I presume I’ve overlooked some simple configuration
> >>> value, but I can’t find it.
> >>> Any help out there?
> >>>
> >>> Thanks
> >>> Brian
> >>>
> >>
> >>


Re: problem creating simple cluster

Posted by Matthew Clarke <ma...@gmail.com>.
In the NiFi.properties file is a property just above your http.port=8080
for the http.host= . If that field is left blank. UI requested that are
replicated between node's may end up using localhost. Make sure this
property is set to the Nodes hostname or IP addresses on every node. A
restart will be needed before any changes to the NiFi.properties file to
take affect.

Thanks,
Matt

On Dec 7, 2016 8:21 PM, "Koji Kawamura" <ij...@gmail.com> wrote:

> Sorry, I overlooked the nifi.properties settings you shared.
> Would you share what you can see on the NiFi "Cluster window", from
> right top Hamburger menu, especially the 'Node Address' column?
>
> Thanks,
> Koji
>
> On Thu, Dec 8, 2016 at 10:10 AM, Koji Kawamura <ij...@gmail.com>
> wrote:
> > Hi Brian,
> >
> > Are those three node running on a same host using different port? Or
> > running on different hosts?
> > nifi.properties has nifi.cluster.node.address configuration, which is
> > used by a NiFi node to tell how other NiFi nodes should access the
> > node.
> >
> > If the property is blank, NiFi uses 'localhost' as node hostname.
> > I think that's why the node tried to replicate the request to
> 'localhost:8080'.
> >
> > If so, the property should be set with a hostname that is accessible
> > from other nodes.
> >
> > Or, if there's any firewall among nodes,
> > nifi.web.http.port
> > nifi.cluster.node.protocol.port
> > should be opened.
> >
> > I sometimes forget this on AWS with security group setting then get
> > timeout error.
> >
> > Thanks,
> > Koji
> >
> > On Thu, Dec 8, 2016 at 2:59 AM, Brian Jeltema <bd...@gmail.com>
> wrote:
> >> The cluster is not running securely, so I don’t believe that file is
> >> relavent. In the stack trace,
> >> the reference to /nifi-api/flow/current-user is misleading - I think any
> >> nifi-api call has problems.
> >>
> >> On Dec 7, 2016, at 12:37 PM, James Wing <jv...@gmail.com> wrote:
> >>
> >> Brian,
> >>
> >> Did you add entries for the node DNs in the conf/authorizers.xml file?
> >> Something like:
> >>
> >> <!-- Provide the identity (typically a DN) of each node when clustered,
> see
> >> above description of Node Identity. -->
> >> <property name="Node Identity 1">CN=node1.nifi, ...</property>
> >> <property name="Node Identity 2">CN=node2.nifi, ...</property>
> >> ...
> >>
> >> Thanks,
> >>
> >> James
> >>
> >> On Wed, Dec 7, 2016 at 8:28 AM, Brian Jeltema <bd...@gmail.com>
> wrote:
> >>>
> >>> I’m trying to create my first cluster using NiFi 1.1.0. It’s a simple
> >>> 3-node unsecure configuration with each node running embedded
> >>> zookeeper. The instances all come up and the zookeeper quarum is
> >>> reached.
> >>>
> >>> If I bring up the UI for the node that is elected as the
> >>> cluster coordinator, it works as expected, and shows that 3 nodes
> >>> are participating in the cluster.
> >>>
> >>> However, if I attempt to display the UI on the non-coordinator nodes,
> >>> after a delay of about 10 seconds an error page is returned. The
> >>> logs contains a stream of exceptions similar to the following:
> >>>
> >>> 2016-12-07 11:08:17,914 WARN [Replicate Request Thread-2]
> >>> o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request
> GET
> >>> /nifi-api/flow/current-user to localhost:8080 due to {}
> >>> com.sun.jersey.api.client.ClientHandlerException:
> >>> java.net.SocketTimeoutException: Read timed out
> >>> at
> >>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(
> URLConnectionClientHandler.java:155)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.Client.handle(Client.java:652)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at
> >>> com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(
> GZIPContentEncodingFilter.java:123)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.WebResource.access$200(
> WebResource.java:74)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at com.sun.jersey.api.client.WebResource$Builder.get(
> WebResource.java:509)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at
> >>> org.apache.nifi.cluster.coordination.http.replication.
> ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.
> java:578)
> >>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
> >>> at
> >>> org.apache.nifi.cluster.coordination.http.replication.
> ThreadPoolRequestReplicator$NodeHttpRequest.run(
> ThreadPoolRequestReplicator.java:770)
> >>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
> >>> at java.util.concurrent.Executors$RunnableAdapter.
> call(Executors.java:511)
> >>> [na:1.8.0_101]
> >>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> [na:1.8.0_101]
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> >>> [na:1.8.0_101]
> >>> at
> >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> >>> [na:1.8.0_101]
> >>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
> >>> Caused by: java.net.SocketTimeoutException: Read timed out
> >>> at java.net.SocketInputStream.socketRead0(Native Method)
> ~[na:1.8.0_101]
> >>> at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
> >>> ~[na:1.8.0_101]
> >>> at java.net.SocketInputStream.read(SocketInputStream.java:170)
> >>> ~[na:1.8.0_101]
> >>> at java.net.SocketInputStream.read(SocketInputStream.java:141)
> >>> ~[na:1.8.0_101]
> >>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
> >>> ~[na:1.8.0_101]
> >>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
> >>> ~[na:1.8.0_101]
> >>> at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
> >>> ~[na:1.8.0_101]
> >>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)
> >>> ~[na:1.8.0_101]
> >>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
> >>> ~[na:1.8.0_101]
> >>> at
> >>> sun.net.www.protocol.http.HttpURLConnection.getInputStream0(
> HttpURLConnection.java:1536)
> >>> ~[na:1.8.0_101]
> >>> at
> >>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(
> HttpURLConnection.java:1441)
> >>> ~[na:1.8.0_101]
> >>> at java.net.HttpURLConnection.getResponseCode(
> HttpURLConnection.java:480)
> >>> ~[na:1.8.0_101]
> >>> at
> >>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler._
> invoke(URLConnectionClientHandler.java:253)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> at
> >>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(
> URLConnectionClientHandler.java:153)
> >>> ~[jersey-client-1.19.jar:1.19]
> >>> ... 12 common frames omitted
> >>>
> >>> The nifi.properties file contains the following, with
> >>> nifi.cluster.node.address set appropriately on each node
> >>>
> >>>      # cluster node properties (only configure for cluster nodes) #
> >>>      nifi.cluster.is.node=true
> >>>      nifi.cluster.node.address=172.31.1.247
> >>>      nifi.cluster.node.protocol.port=8081
> >>>      nifi.cluster.node.protocol.threads=10
> >>>      nifi.cluster.node.event.history.size=25
> >>>      nifi.cluster.node.connection.timeout=5 sec
> >>>      nifi.cluster.node.read.timeout=5 sec
> >>>      nifi.cluster.firewall.file=
> >>>      nifi.cluster.flow.election.max.wait.time=5 mins
> >>>      nifi.cluster.flow.election.max.candidates=3
> >>>
> >>>      # zookeeper properties, used for cluster management #
> >>>
> >>> nifi.zookeeper.connect.string=172.31.13.177:2181,172.31.1.247:2181,
> 172.31.1.69:2181
> >>>      nifi.zookeeper.connect.timeout=3 secs
> >>>      nifi.zookeeper.session.timeout=3 secs
> >>>      nifi.zookeeper.root.node=/nifi
> >>>
> >>> I’ve run out of ideas; I presume I’ve overlooked some simple
> configuration
> >>> value, but I can’t find it.
> >>> Any help out there?
> >>>
> >>> Thanks
> >>> Brian
> >>>
> >>
> >>
>

Re: problem creating simple cluster

Posted by Koji Kawamura <ij...@gmail.com>.
Sorry, I overlooked the nifi.properties settings you shared.
Would you share what you can see on the NiFi "Cluster window", from
right top Hamburger menu, especially the 'Node Address' column?

Thanks,
Koji

On Thu, Dec 8, 2016 at 10:10 AM, Koji Kawamura <ij...@gmail.com> wrote:
> Hi Brian,
>
> Are those three node running on a same host using different port? Or
> running on different hosts?
> nifi.properties has nifi.cluster.node.address configuration, which is
> used by a NiFi node to tell how other NiFi nodes should access the
> node.
>
> If the property is blank, NiFi uses 'localhost' as node hostname.
> I think that's why the node tried to replicate the request to 'localhost:8080'.
>
> If so, the property should be set with a hostname that is accessible
> from other nodes.
>
> Or, if there's any firewall among nodes,
> nifi.web.http.port
> nifi.cluster.node.protocol.port
> should be opened.
>
> I sometimes forget this on AWS with security group setting then get
> timeout error.
>
> Thanks,
> Koji
>
> On Thu, Dec 8, 2016 at 2:59 AM, Brian Jeltema <bd...@gmail.com> wrote:
>> The cluster is not running securely, so I don’t believe that file is
>> relavent. In the stack trace,
>> the reference to /nifi-api/flow/current-user is misleading - I think any
>> nifi-api call has problems.
>>
>> On Dec 7, 2016, at 12:37 PM, James Wing <jv...@gmail.com> wrote:
>>
>> Brian,
>>
>> Did you add entries for the node DNs in the conf/authorizers.xml file?
>> Something like:
>>
>> <!-- Provide the identity (typically a DN) of each node when clustered, see
>> above description of Node Identity. -->
>> <property name="Node Identity 1">CN=node1.nifi, ...</property>
>> <property name="Node Identity 2">CN=node2.nifi, ...</property>
>> ...
>>
>> Thanks,
>>
>> James
>>
>> On Wed, Dec 7, 2016 at 8:28 AM, Brian Jeltema <bd...@gmail.com> wrote:
>>>
>>> I’m trying to create my first cluster using NiFi 1.1.0. It’s a simple
>>> 3-node unsecure configuration with each node running embedded
>>> zookeeper. The instances all come up and the zookeeper quarum is
>>> reached.
>>>
>>> If I bring up the UI for the node that is elected as the
>>> cluster coordinator, it works as expected, and shows that 3 nodes
>>> are participating in the cluster.
>>>
>>> However, if I attempt to display the UI on the non-coordinator nodes,
>>> after a delay of about 10 seconds an error page is returned. The
>>> logs contains a stream of exceptions similar to the following:
>>>
>>> 2016-12-07 11:08:17,914 WARN [Replicate Request Thread-2]
>>> o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET
>>> /nifi-api/flow/current-user to localhost:8080 due to {}
>>> com.sun.jersey.api.client.ClientHandlerException:
>>> java.net.SocketTimeoutException: Read timed out
>>> at
>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
>>> ~[jersey-client-1.19.jar:1.19]
>>> at com.sun.jersey.api.client.Client.handle(Client.java:652)
>>> ~[jersey-client-1.19.jar:1.19]
>>> at
>>> com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123)
>>> ~[jersey-client-1.19.jar:1.19]
>>> at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
>>> ~[jersey-client-1.19.jar:1.19]
>>> at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
>>> ~[jersey-client-1.19.jar:1.19]
>>> at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
>>> ~[jersey-client-1.19.jar:1.19]
>>> at
>>> org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578)
>>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
>>> at
>>> org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:770)
>>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
>>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>>> [na:1.8.0_101]
>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
>>> at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>> [na:1.8.0_101]
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>> [na:1.8.0_101]
>>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
>>> Caused by: java.net.SocketTimeoutException: Read timed out
>>> at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_101]
>>> at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
>>> ~[na:1.8.0_101]
>>> at java.net.SocketInputStream.read(SocketInputStream.java:170)
>>> ~[na:1.8.0_101]
>>> at java.net.SocketInputStream.read(SocketInputStream.java:141)
>>> ~[na:1.8.0_101]
>>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
>>> ~[na:1.8.0_101]
>>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
>>> ~[na:1.8.0_101]
>>> at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
>>> ~[na:1.8.0_101]
>>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)
>>> ~[na:1.8.0_101]
>>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
>>> ~[na:1.8.0_101]
>>> at
>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536)
>>> ~[na:1.8.0_101]
>>> at
>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
>>> ~[na:1.8.0_101]
>>> at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
>>> ~[na:1.8.0_101]
>>> at
>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
>>> ~[jersey-client-1.19.jar:1.19]
>>> at
>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
>>> ~[jersey-client-1.19.jar:1.19]
>>> ... 12 common frames omitted
>>>
>>> The nifi.properties file contains the following, with
>>> nifi.cluster.node.address set appropriately on each node
>>>
>>>      # cluster node properties (only configure for cluster nodes) #
>>>      nifi.cluster.is.node=true
>>>      nifi.cluster.node.address=172.31.1.247
>>>      nifi.cluster.node.protocol.port=8081
>>>      nifi.cluster.node.protocol.threads=10
>>>      nifi.cluster.node.event.history.size=25
>>>      nifi.cluster.node.connection.timeout=5 sec
>>>      nifi.cluster.node.read.timeout=5 sec
>>>      nifi.cluster.firewall.file=
>>>      nifi.cluster.flow.election.max.wait.time=5 mins
>>>      nifi.cluster.flow.election.max.candidates=3
>>>
>>>      # zookeeper properties, used for cluster management #
>>>
>>> nifi.zookeeper.connect.string=172.31.13.177:2181,172.31.1.247:2181,172.31.1.69:2181
>>>      nifi.zookeeper.connect.timeout=3 secs
>>>      nifi.zookeeper.session.timeout=3 secs
>>>      nifi.zookeeper.root.node=/nifi
>>>
>>> I’ve run out of ideas; I presume I’ve overlooked some simple configuration
>>> value, but I can’t find it.
>>> Any help out there?
>>>
>>> Thanks
>>> Brian
>>>
>>
>>

Re: problem creating simple cluster

Posted by Koji Kawamura <ij...@gmail.com>.
Hi Brian,

Are those three node running on a same host using different port? Or
running on different hosts?
nifi.properties has nifi.cluster.node.address configuration, which is
used by a NiFi node to tell how other NiFi nodes should access the
node.

If the property is blank, NiFi uses 'localhost' as node hostname.
I think that's why the node tried to replicate the request to 'localhost:8080'.

If so, the property should be set with a hostname that is accessible
from other nodes.

Or, if there's any firewall among nodes,
nifi.web.http.port
nifi.cluster.node.protocol.port
should be opened.

I sometimes forget this on AWS with security group setting then get
timeout error.

Thanks,
Koji

On Thu, Dec 8, 2016 at 2:59 AM, Brian Jeltema <bd...@gmail.com> wrote:
> The cluster is not running securely, so I don’t believe that file is
> relavent. In the stack trace,
> the reference to /nifi-api/flow/current-user is misleading - I think any
> nifi-api call has problems.
>
> On Dec 7, 2016, at 12:37 PM, James Wing <jv...@gmail.com> wrote:
>
> Brian,
>
> Did you add entries for the node DNs in the conf/authorizers.xml file?
> Something like:
>
> <!-- Provide the identity (typically a DN) of each node when clustered, see
> above description of Node Identity. -->
> <property name="Node Identity 1">CN=node1.nifi, ...</property>
> <property name="Node Identity 2">CN=node2.nifi, ...</property>
> ...
>
> Thanks,
>
> James
>
> On Wed, Dec 7, 2016 at 8:28 AM, Brian Jeltema <bd...@gmail.com> wrote:
>>
>> I’m trying to create my first cluster using NiFi 1.1.0. It’s a simple
>> 3-node unsecure configuration with each node running embedded
>> zookeeper. The instances all come up and the zookeeper quarum is
>> reached.
>>
>> If I bring up the UI for the node that is elected as the
>> cluster coordinator, it works as expected, and shows that 3 nodes
>> are participating in the cluster.
>>
>> However, if I attempt to display the UI on the non-coordinator nodes,
>> after a delay of about 10 seconds an error page is returned. The
>> logs contains a stream of exceptions similar to the following:
>>
>> 2016-12-07 11:08:17,914 WARN [Replicate Request Thread-2]
>> o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET
>> /nifi-api/flow/current-user to localhost:8080 due to {}
>> com.sun.jersey.api.client.ClientHandlerException:
>> java.net.SocketTimeoutException: Read timed out
>> at
>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
>> ~[jersey-client-1.19.jar:1.19]
>> at com.sun.jersey.api.client.Client.handle(Client.java:652)
>> ~[jersey-client-1.19.jar:1.19]
>> at
>> com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123)
>> ~[jersey-client-1.19.jar:1.19]
>> at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
>> ~[jersey-client-1.19.jar:1.19]
>> at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
>> ~[jersey-client-1.19.jar:1.19]
>> at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
>> ~[jersey-client-1.19.jar:1.19]
>> at
>> org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578)
>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
>> at
>> org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:770)
>> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_101]
>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> [na:1.8.0_101]
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> [na:1.8.0_101]
>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
>> Caused by: java.net.SocketTimeoutException: Read timed out
>> at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_101]
>> at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
>> ~[na:1.8.0_101]
>> at java.net.SocketInputStream.read(SocketInputStream.java:170)
>> ~[na:1.8.0_101]
>> at java.net.SocketInputStream.read(SocketInputStream.java:141)
>> ~[na:1.8.0_101]
>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
>> ~[na:1.8.0_101]
>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
>> ~[na:1.8.0_101]
>> at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
>> ~[na:1.8.0_101]
>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)
>> ~[na:1.8.0_101]
>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
>> ~[na:1.8.0_101]
>> at
>> sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536)
>> ~[na:1.8.0_101]
>> at
>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
>> ~[na:1.8.0_101]
>> at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
>> ~[na:1.8.0_101]
>> at
>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
>> ~[jersey-client-1.19.jar:1.19]
>> at
>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
>> ~[jersey-client-1.19.jar:1.19]
>> ... 12 common frames omitted
>>
>> The nifi.properties file contains the following, with
>> nifi.cluster.node.address set appropriately on each node
>>
>>      # cluster node properties (only configure for cluster nodes) #
>>      nifi.cluster.is.node=true
>>      nifi.cluster.node.address=172.31.1.247
>>      nifi.cluster.node.protocol.port=8081
>>      nifi.cluster.node.protocol.threads=10
>>      nifi.cluster.node.event.history.size=25
>>      nifi.cluster.node.connection.timeout=5 sec
>>      nifi.cluster.node.read.timeout=5 sec
>>      nifi.cluster.firewall.file=
>>      nifi.cluster.flow.election.max.wait.time=5 mins
>>      nifi.cluster.flow.election.max.candidates=3
>>
>>      # zookeeper properties, used for cluster management #
>>
>> nifi.zookeeper.connect.string=172.31.13.177:2181,172.31.1.247:2181,172.31.1.69:2181
>>      nifi.zookeeper.connect.timeout=3 secs
>>      nifi.zookeeper.session.timeout=3 secs
>>      nifi.zookeeper.root.node=/nifi
>>
>> I’ve run out of ideas; I presume I’ve overlooked some simple configuration
>> value, but I can’t find it.
>> Any help out there?
>>
>> Thanks
>> Brian
>>
>
>

Re: problem creating simple cluster

Posted by Brian Jeltema <bd...@gmail.com>.
The cluster is not running securely, so I don’t believe that file is relavent. In the stack trace,
the reference to /nifi-api/flow/current-user is misleading - I think any
nifi-api call has problems.

> On Dec 7, 2016, at 12:37 PM, James Wing <jv...@gmail.com> wrote:
> 
> Brian,
> 
> Did you add entries for the node DNs in the conf/authorizers.xml file?  Something like:
> 
> <!-- Provide the identity (typically a DN) of each node when clustered, see above description of Node Identity. -->
> <property name="Node Identity 1">CN=node1.nifi, ...</property>
> <property name="Node Identity 2">CN=node2.nifi, ...</property>
> ...
> 
> Thanks,
> 
> James
> 
> On Wed, Dec 7, 2016 at 8:28 AM, Brian Jeltema <bdjeltema@gmail.com <ma...@gmail.com>> wrote:
> I’m trying to create my first cluster using NiFi 1.1.0. It’s a simple
> 3-node unsecure configuration with each node running embedded
> zookeeper. The instances all come up and the zookeeper quarum is
> reached.
> 
> If I bring up the UI for the node that is elected as the 
> cluster coordinator, it works as expected, and shows that 3 nodes
> are participating in the cluster.
> 
> However, if I attempt to display the UI on the non-coordinator nodes,
> after a delay of about 10 seconds an error page is returned. The
> logs contains a stream of exceptions similar to the following:
> 
> 2016-12-07 11:08:17,914 WARN [Replicate Request Thread-2] o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET /nifi-api/flow/current-user to localhost:8080 due to {}
> com.sun.jersey.api.client.ClientHandlerException: java.net <http://java.net/>.SocketTimeoutException: Read timed out
> 	at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155) ~[jersey-client-1.19.jar:1.19]
> 	at com.sun.jersey.api.client.Client.handle(Client.java:652) ~[jersey-client-1.19.jar:1.19]
> 	at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.jar:1.19]
> 	at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) ~[jersey-client-1.19.jar:1.19]
> 	at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) ~[jersey-client-1.19.jar:1.19]
> 	at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509) ~[jersey-client-1.19.jar:1.19]
> 	at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578) ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
> 	at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:770) ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
> Caused by: java.net <http://java.net/>.SocketTimeoutException: Read timed out
> 	at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_101]
> 	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[na:1.8.0_101]
> 	at java.net.SocketInputStream.read(SocketInputStream.java:170) ~[na:1.8.0_101]
> 	at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_101]
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[na:1.8.0_101]
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[na:1.8.0_101]
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[na:1.8.0_101]
> 	at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704) ~[na:1.8.0_101]
> 	at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647) ~[na:1.8.0_101]
> 	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536) ~[na:1.8.0_101]
> 	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441) ~[na:1.8.0_101]
> 	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[na:1.8.0_101]
> 	at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253) ~[jersey-client-1.19.jar:1.19]
> 	at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153) ~[jersey-client-1.19.jar:1.19]
> 	... 12 common frames omitted
> 
> The nifi.properties file contains the following, with nifi.cluster.node.address set appropriately on each node
> 
>      # cluster node properties (only configure for cluster nodes) #
>      nifi.cluster.is.node=true
>      nifi.cluster.node.address=172.31.1.247
>      nifi.cluster.node.protocol.port=8081
>      nifi.cluster.node.protocol.threads=10
>      nifi.cluster.node.event.history.size=25
>      nifi.cluster.node.connection.timeout=5 sec
>      nifi.cluster.node.read.timeout=5 sec
>      nifi.cluster.firewall.file=
>      nifi.cluster.flow.election.max.wait.time=5 mins
>      nifi.cluster.flow.election.max.candidates=3
> 
>      # zookeeper properties, used for cluster management #
>      nifi.zookeeper.connect.string=172.31.13.177:2181 <http://172.31.13.177:2181/>,172.31.1.247:2181 <http://172.31.1.247:2181/>,172.31.1.69:2181 <http://172.31.1.69:2181/>
>      nifi.zookeeper.connect.timeout=3 secs
>      nifi.zookeeper.session.timeout=3 secs
>      nifi.zookeeper.root.node=/nifi
> 
> I’ve run out of ideas; I presume I’ve overlooked some simple configuration value, but I can’t find it.
> Any help out there?
> 
> Thanks
> Brian
> 
> 


Re: problem creating simple cluster

Posted by James Wing <jv...@gmail.com>.
Brian,

Did you add entries for the node DNs in the conf/authorizers.xml file?
Something like:

<!-- Provide the identity (typically a DN) of each node when clustered, see
above description of Node Identity. -->
<property name="Node Identity 1">CN=node1.nifi, ...</property>
<property name="Node Identity 2">CN=node2.nifi, ...</property>
...

Thanks,

James

On Wed, Dec 7, 2016 at 8:28 AM, Brian Jeltema <bd...@gmail.com> wrote:

> I’m trying to create my first cluster using NiFi 1.1.0. It’s a simple
> 3-node unsecure configuration with each node running embedded
> zookeeper. The instances all come up and the zookeeper quarum is
> reached.
>
> If I bring up the UI for the node that is elected as the
> cluster coordinator, it works as expected, and shows that 3 nodes
> are participating in the cluster.
>
> However, if I attempt to display the UI on the non-coordinator nodes,
> after a delay of about 10 seconds an error page is returned. The
> logs contains a stream of exceptions similar to the following:
>
> 2016-12-07 11:08:17,914 WARN [Replicate Request Thread-2] o.a.n.c.c.h.r.ThreadPoolRequestReplicator
> Failed to replicate request GET /nifi-api/flow/current-user to
> localhost:8080 due to {}
> com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException:
> Read timed out
> at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(
> URLConnectionClientHandler.java:155) ~[jersey-client-1.19.jar:1.19]
> at com.sun.jersey.api.client.Client.handle(Client.java:652)
> ~[jersey-client-1.19.jar:1.19]
> at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(
> GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.jar:1.19]
> at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
> ~[jersey-client-1.19.jar:1.19]
> at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
> ~[jersey-client-1.19.jar:1.19]
> at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
> ~[jersey-client-1.19.jar:1.19]
> at org.apache.nifi.cluster.coordination.http.replication.
> ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578)
> ~[nifi-framework-cluster-1.1.0.jar:1.1.0]
> at org.apache.nifi.cluster.coordination.http.replication.
> ThreadPoolRequestReplicator$NodeHttpRequest.run(
> ThreadPoolRequestReplicator.java:770) ~[nifi-framework-cluster-1.1.
> 0.jar:1.1.0]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_101]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_101]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_101]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
> Caused by: java.net.SocketTimeoutException: Read timed out
> at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_101]
> at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
> ~[na:1.8.0_101]
> at java.net.SocketInputStream.read(SocketInputStream.java:170)
> ~[na:1.8.0_101]
> at java.net.SocketInputStream.read(SocketInputStream.java:141)
> ~[na:1.8.0_101]
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
> ~[na:1.8.0_101]
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
> ~[na:1.8.0_101]
> at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
> ~[na:1.8.0_101]
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)
> ~[na:1.8.0_101]
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
> ~[na:1.8.0_101]
> at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536)
> ~[na:1.8.0_101]
> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
> ~[na:1.8.0_101]
> at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
> ~[na:1.8.0_101]
> at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(
> URLConnectionClientHandler.java:253) ~[jersey-client-1.19.jar:1.19]
> at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(
> URLConnectionClientHandler.java:153) ~[jersey-client-1.19.jar:1.19]
> ... 12 common frames omitted
>
> The nifi.properties file contains the following, with
> nifi.cluster.node.address set appropriately on each node
>
>      # cluster node properties (only configure for cluster nodes) #
>      nifi.cluster.is.node=true
>      nifi.cluster.node.address=172.31.1.247
>      nifi.cluster.node.protocol.port=8081
>      nifi.cluster.node.protocol.threads=10
>      nifi.cluster.node.event.history.size=25
>      nifi.cluster.node.connection.timeout=5 sec
>      nifi.cluster.node.read.timeout=5 sec
>      nifi.cluster.firewall.file=
>      nifi.cluster.flow.election.max.wait.time=5 mins
>      nifi.cluster.flow.election.max.candidates=3
>
>      # zookeeper properties, used for cluster management #
>      nifi.zookeeper.connect.string=172.31.13.177:2181,172.31.1.247:2181,
> 172.31.1.69:2181
>      nifi.zookeeper.connect.timeout=3 secs
>      nifi.zookeeper.session.timeout=3 secs
>      nifi.zookeeper.root.node=/nifi
>
> I’ve run out of ideas; I presume I’ve overlooked some simple configuration
> value, but I can’t find it.
> Any help out there?
>
> Thanks
> Brian
>
>