Support Article
Hazelcast auto discovery picks the 'wrong' IP
SA-9308
Summary
During auto discovery Hazelcast is not picking a loopback IP, but it is picking the 'wrong' IP. As an example, the IP it chooses is 10.AA.78.17 where as the 'correct' IP is 169.AA.16.17.
This leads to the necessity to explicitly state what IP/port pair to use in the prconfig.xml file or in the dynamic system settings.
Error Messages
Initially this IP and port
LifecycleServ I com.hazelcast.core.LifecycleService [10.AA.78.17]:5702 [5af0be77ec61ea139c1f47c3696bd7a9] [3.2] Address[10.AA.153.160]:5702 is STARTED
After config changes this IP and port
LifecycleServ I com.hazelcast.core.LifecycleService [169.AA.16.17]:5751 [5af0be77ec61ea139c1f47c3696bd7a9] [3.2] Address[169.AA.137.235]:5751 is STARTED
Steps to Reproduce
Start up on a multi-homed host.
Root Cause
The root cause of this problem is defect or misconfiguration in the operating environment.
In a multi-homed environment with more than one NIC (Network Interface Card)), there is no reasonable way to auto discover a 'correct' IP address to use for Hazelcast.
Resolution
This issue is resolved by making the following change to the operating environment:
If there is a stipulation that a specific IP be used, then it must be specifically configured in the prconfig or as a dynamic system setting
<env name="cluster/hazelcast/interface" value="10.2.*.*"/>
Note that if there is more than one cluster on the same machine then user must segment each cluster using the following to specify a range of valid ports.
<env name="cluster/hazelcast/ports" value="5701-5750" />
Published March 9, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.