我正在尝试在本地计算机中设置3个服务器节点。每个节点都启动但无法加入群集。
我可以在每个服务器节点的日志文件中看到以下消息。
拓扑快照[ver = 1,服务器= 1,客户端= 0,CPU = 4,堆= 0.1GB]
这是启动服务器的代码。
IgniteConfiguration config = new IgniteConfiguration();
TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
ipFinder.setAddresses(Arrays.asList("192.168.0.3","192.168.0.3:47100..47120"));
spi.setIpFinder(ipFinder);
config.setDiscoverySpi(spi);
// Start Ignite node.
ignite = Ignition.start(config);
任何人都可以建议我在这里遗失一些东西!
答案 0 :(得分:0)
尝试删除没有端口的地址,只留下指定范围的地址:
ipFinder.setAddresses(Arrays.asList("192.168.0.3:47100..47120"));
答案 1 :(得分:0)
挣扎了好几个小时,只能通过以下方式解决它。
确保您已设置服务器点亮的本地接口和端口范围:
1 ./ sigt
相应地配置您的IP查找器。假设该节点要在同一配置的同一台机器上找到对等体(即,按照上述[1]):
TcpDiscoverySpi spi = new TcpDiscoverySpi();
//This address should be accessible to other nodes
spi.setLocalAddress("192.168.0.1");
spi.setLocalPort(48500);
spi.setLocalPortRange(20);
当实例依次启动时,他们将使用配置范围内的端口,并且在该范围内,他们将使用TCP发现相互发现。
这是我设法在同一台机器上连接2个以上服务器节点而不使用多播发现的唯一方法。