Недавно мы начали создавать тестовый кластер Ignite и столкнулись с проблемами обнаружения TCP. Несколько ответов на похожие вопросы, обсуждаемые на этом форуме, не дали ответа на мой запрос. В нашей тестовой системе есть два узла Debian в разных подсетях без заблокированных портов, и каждый узел запускает Ignite, как и ожидалось; все типичные используемые порты были проверены с помощью Curl, и мы не видим там никаких проблем. Кроме того, эти узлы используют кластер Cassandra для постоянной базы данных, и мы убедились, что нет проблем с загрузкой данных в кэш Ignite на каждом узле. Версия Ignite, которую мы исследуем, - «apache-ignite-2.8.0», а обнаружение TCP - через TcpDiscoveryVmIpFinder.
На обоих узлах зажигания отображается следующая ошибка «Отказано в соединении»; журнал не содержит информации (даже после включения опции DEBUG для журналов) относительно IP-адреса соединения. Используя netstat -lntpa, мы наблюдали, что никакие соединения не проходят от одного узла к другому.
[ERROR][main][TcpDiscoverySpi] Exception on direct send: Connection refused (Connection refused)
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.openSocket(TcpDiscoverySpi.java:1538)
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.openSocket(TcpDiscoverySpi.java:1500)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.sendMessageDirectly(ServerImpl.java:1307)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.sendJoinReq`enter code here`uestMessage(ServerImpl.java:1142)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:955)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:422)
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:2065)
at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:297)
at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:940)
at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1736)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1080)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1992)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1683)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1109)
at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1027)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:913)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:812)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:682)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:651)
at org.apache.ignite.Ignition.start(Ignition.java:346)
at com.procurant.common.ignite.CommandLineStartup.startIgnite(CommandLineStartup.java:17)
at com.procurant.common.ignite.CommandLineStartup.main(CommandLineStartup.java:82)
Файл конфигурации Ignite имеет следующие параметры для одного из узлов: (значения времени ожидания не сыграли существенной роли, ошибка без них одинакова)
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<!-- Initial local port to listen to. -->
<property name="localPort" value="45500" />
<!-- Changing local port range. This is an optional action. -->
<!-- Default jointTimeout=0 means wait for ever -->
<property name="localPortRange" value="20" />
<property name="networkTimeout" value="10000" />
<property name="socketTimeout" value="30000" />
<property name="joinTimeout" value="30000" />
<property name="reconnectCount" value="5" />
<property name="ackTimeout" value="10000" />
<property name="ipFinder">
<!-- Uncomment static IP finder to enable static-based discovery of initial nodes. -->
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<!--<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">-->
<property name="addresses">
<list>
<!-- In distributed environment, replace with actual host IP address. -->
<value>10.10.0.91:45500..45520</value>
</list>
</property>
</bean>
</property>
</bean>
Любая помощь и предложение приветствуются для решения наших проблем.
Спасибо!