我们最近开始构建测试Ignite群集,并面临TCP发现问题。在该论坛中讨论的对类似问题的一些答复都无法回答我的疑问。在我们的测试系统中,不同子网中有两个Debian节点,没有端口被阻塞,每个节点都按预期方式引导Ignite。所有使用的典型端口均通过Curl进行了验证,我们发现那里没有问题。此外,这些节点将Cassandra群集用于持久性数据库,并且我们已经验证了将数据加载到每个节点上的Ignite缓存中没有问题。我们正在探索的Ignite版本是“ apache-ignite-2.8.0”,而TCP发现是通过TcpDiscoveryVmIpFinder进行的。
两个点燃节点均显示以下“连接被拒绝”错误;该日志不包含有关连接IP地址的信息(即使在为日志启用DEBUG选项之后)。我们使用“ 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>
感谢您提供任何帮助和建议来解决我们的问题。
谢谢!