Apache ignite 客户端应用程序找不到服务器集群
Apache ignite client app doesn't find the server cluster
我正在使用下面的配置,在我的本地机器上有一个集群 运行,端口范围与下面相同 (37500..37509)
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setClientMode(true);
TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryMulticastIpFinder ipFinder = new TcpDiscoveryMulticastIpFinder();
ipFinder.setMulticastGroup("127.0.0.1");
// Set initial IP addresses.
// Note that you can optionally specify a port or a port range.
ipFinder.setAddresses(Arrays.asList("127.0.0.1:37500..37509"));
spi.setLocalPort(37508);
spi.setLocalPortRange(0);
TcpCommunicationSpi commSpi=new TcpCommunicationSpi();
commSpi.setLocalPort(37509);
// Overriding discovery SPI.
cfg.setDiscoverySpi(spi);
// Overriding communication SPI.
cfg.setCommunicationSpi(commSpi);
try (Ignite ig = Ignition.start(cfg)) {
IgniteCache<Integer, String> cache = ig.getOrCreateCache("myCacheName");
cache.put(1, "vlad");
cache.get(1);
}
我收到以下错误消息:
[17:51:14] IP finder returned empty addresses list. Please check IP finder configuration and make sure multicast works on your network. Will retry every 2 secs.
有什么想法吗?
显示错误本身是因为您没有将 IP 查找器设置为发现 SPI (spi.setIpFinder(ipFinder)
)。
但是,您还应该注意 DiscoverySpi
和 CommunicationSpi
是两个不同的组件,它们使用不同的端口。您在这里所做的是将通信绑定到发现将尝试连接到的端口之一。发现和通信的端口范围不应相交。
我正在使用下面的配置,在我的本地机器上有一个集群 运行,端口范围与下面相同 (37500..37509)
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setClientMode(true);
TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryMulticastIpFinder ipFinder = new TcpDiscoveryMulticastIpFinder();
ipFinder.setMulticastGroup("127.0.0.1");
// Set initial IP addresses.
// Note that you can optionally specify a port or a port range.
ipFinder.setAddresses(Arrays.asList("127.0.0.1:37500..37509"));
spi.setLocalPort(37508);
spi.setLocalPortRange(0);
TcpCommunicationSpi commSpi=new TcpCommunicationSpi();
commSpi.setLocalPort(37509);
// Overriding discovery SPI.
cfg.setDiscoverySpi(spi);
// Overriding communication SPI.
cfg.setCommunicationSpi(commSpi);
try (Ignite ig = Ignition.start(cfg)) {
IgniteCache<Integer, String> cache = ig.getOrCreateCache("myCacheName");
cache.put(1, "vlad");
cache.get(1);
}
我收到以下错误消息:
[17:51:14] IP finder returned empty addresses list. Please check IP finder configuration and make sure multicast works on your network. Will retry every 2 secs.
有什么想法吗?
显示错误本身是因为您没有将 IP 查找器设置为发现 SPI (spi.setIpFinder(ipFinder)
)。
但是,您还应该注意 DiscoverySpi
和 CommunicationSpi
是两个不同的组件,它们使用不同的端口。您在这里所做的是将通信绑定到发现将尝试连接到的端口之一。发现和通信的端口范围不应相交。