I am running a Ignite cluster on boxes with multiple network interfaces configured. I have 3 different network interfaces with different speeds.
i see Ignite finds 3 ip addresses
INFO: Non-loopback local IPs: xxx, yyy, zzz
then
INFO: Successfully bound to TCP port [port=47100,locHost=0.0.0.0/0.0.0.0]
and
INFO: Successfully bound to TCP port [port=47500, localHost=0.0.0.0/0.0.0.0]
and
>>> Local node addresses: [Server1/xxx, Server1/yyy, Server1/zzz, /127.0.0.1]
>>> Local ports: TCP:47100 TCP:47500 TCP:48100
I want to configure Ignite cluster to use only 1 of these network interfaces for its communications.
I have this Ignite xml network configuration
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" parent="base-ignite.cfg">
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>box1:47500</value>
<value>box2:47500</value>
<value>box3:47500</value>
<value>box4:47500</value>
....
...
..
.
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
when a node joins I find
INFO: Added new node to topology: TcpDiscoveryNode [id=cb61c90f-6a8d-4c4a-81dc-7994b5e5fd80, addrs=[box1-xxx,box1-yyy, box1-yyy, 127.0.0.1], sockAddrs=[/box1-xxx:47500, /box1-xxx:47500, /box1-yyy:47500, /box1-yyy:47500, /box1-zzz:47500, /box1-zzz:47500, /127.0.0.1:47500], discPort=47500, order=2, intOrder=2, lastExchangeTime=1442308257191, loc=false, ver=1.5.0#20150911-sha1:b736c46f, isClient=false]
so the Ignite server bind and listens to all network interfaces on the box. and in the xml config i give only 1 address of network interface, but some how when in the node joining message, i see the ip address of all other network interfaces.