Summary
When you start a Nexus Repository 3 cluster configured for TCP/IP, each node selects a network interface to use. Depending on which one is selected, the nodes of the cluster may not be able to communicate. This problem can be avoided by specifying the network interface for each node in the hazelcast-network.xml.
Details
When you configure Hazelcast as a TCP/IP cluster, you include a list of the member IP addresses.
<join>
<multicast enabled="false">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="true">
<member-list>
<member>10.9.8.7</member>
<member>10.9.8.6</member>
<member>10.9.8.5</member>
</member-list>
</tcp-ip>
<aws enabled="false"/>
<discovery-strategies>
</discovery-strategies>
</join>
When each cluster member starts it will attempt to connect to the other nodes using the addresses specified in the member-list.
Servers may have more than one network interface. When the node starts up, it will pick one address from the available TCP-IP addresses to use as its cluster network interface. If it chooses one that cannot be used for communication between cluster nodes, then it will not be able to join the cluster. To avoid this problem, you can specify the network interface for each cluster node.
Each node will use its own interface address, as shown below.
<interfaces enabled="true">
<interface>10.9.8.5</interface>
</interfaces>
These values are configured in the hazelcast-network.xml file located here:
sonatype-work/nexus3/etc/fabric/hazelcast-network.xml
References