Apache点燃客户端应用程序找不到服务器群集

时间:2017-01-17 17:55:34

标签: ignite

我正在使用下面的配置,我的本地计算机上运行的群集具有与以下相同的端口范围(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.

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

显示错误本身是因为您没有将IP查找器设置为发现SPI(spi.setIpFinder(ipFinder))。

但是,您还应注意DiscoverySpiCommunicationSpi是两个不同的组件,它们使用不同的端口。你在这里做的是绑定通信到其中一个端口发现将尝试连接。发现和通信的端口范围不应相交。

相关问题