我正在尝试从我的 Java 应用程序连接到本地运行的 Ignite 服务器(通过 ignite.bat 运行)。问题很奇怪!我能够从 Windows 8 连接到在 VM Ware 中运行的所有节点。但是,如果没有在 pc 上运行的那些 VM ware Linux 节点,我将无法连接到本地运行的 Ignite 服务器。我在 IP Finder 中使用 127.0.0.1 作为地址,但它显示无法从 IP Finder 连接到任何地址。这是我的Java代码-
TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
List<String> addressList = new ArrayList<>();
addressList.add("127.0.0.1:47500");
addressList.add("192.168.25.1");
addressList.add("192.168.1.101");
addressList.add("192.168.56.1");
addressList.add("192.168.10.1");
addressList.add("localhost");
ipFinder.setAddresses(addressList);
tcpDiscoverySpi.setIpFinder(ipFinder);
tcpDiscoverySpi.setLocalAddress("127.0.0.1");
OptimizedMarshaller optimize = new OptimizedMarshaller();
optimize.setRequireSerializable(false);
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setLocalHost("127.0.0.1");
cfg.setClientMode(true);
cfg.setPeerClassLoadingEnabled(false);
cfg.setMarshaller(optimize);
cfg.setMarshaller(optimize);
cfg.setDiscoverySpi(tcpDiscoverySpi);
Ignite ignite = Ignition.start(cfg);