尝试从我的本地计算机连接到点燃缓存时出现 IgniteSpiException
IgniteSpiException while trying to connect to ignite cache from my local machine
我有一个使用 IgniteDb 作为缓存提供程序的应用程序。它使用发现 url 作为:
127.0.0.1:47500..47509。
现在我想在 Eclipse 中使用 java 代码连接到这个缓存。我把代码写成:
IgniteConfiguration cfg = new IgniteConfiguration().setBinaryConfiguration(
new BinaryConfiguration().setNameMapper(new BinaryBasicNameMapper(true)));
TcpDiscoveryMulticastIpFinder discoveryMulticastIpFinder = new TcpDiscoveryMulticastIpFinder();
Set<String> set = new HashSet<>();
set.add("127.0.0.1:47500..47509");
cfg.setPeerClassLoadingEnabled (true);
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoveryMulticastIpFinder.setAddresses(set);
discoverySpi.setNetworkTimeout (5000);
discoverySpi.setClientReconnectDisabled(true);
cfg.setDiscoverySpi(discoverySpi);
discoverySpi.setIpFinder(discoveryMulticastIpFinder);
cfg.setDiscoverySpi(discoverySpi);
Ignite ignite = Ignition.getOrStart(cfg);
IgniteCache<Integer, Person> cache = ignite.getOrCreateCache("person");
// Code to call cache put or get here
// putCache(cache);
//getCache(cache);
System.out.println("All Available Cache on server : "+ignite.cacheNames());
但是在 运行 上,我得到的错误是:
Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node and remote node have different version numbers
(node will not join, Ignite does not support rolling updates, so versions must be exactly the same)
[locBuildVer=2.7.5, rmtBuildVer=2.8.0,
locNodeAddrs=[aschauha-t470.apac.tibco.com/0:0:0:0:0:0:0:1, aschauha-t470.apac.tibco.com/10.98.51.252, /127.0.0.1, /192.168.0.101],
rmtNodeAddrs=[aschauha-t470.apac.tibco.com/0:0:0:0:0:0:0:1, aschauha-t470.apac.tibco.com/10.98.51.252, /127.0.0.1, /192.168.0.101],
locNodeId=e66eeea7-5427-4fe7-8368-884641af534b, rmtNodeId=35ad5deb-d212-4a85-812e-ec7d44caa4a8]
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:1997)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:1116)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:427)
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:2099)
at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:297)
... 10 more
请帮我解决这个问题。
另外,我上面提到的代码是连接到用作应用程序缓存的 ignite 数据库的正确方法吗?
错误消息告诉所有需要的:
Caused by: class org.apache.ignite.spi.IgniteSpiException: 本地节点和远程节点版本号不同
(节点不会加入,Ignite不支持滚动更新,所以版本必须完全一致)
[locBuildVer=2.7.5, rmtBuildVer=2.8.0,
Ignite 仅支持来自相同节点的集群,因此,您应该将本地节点升级到 2.8.0 或将远程节点降级到 2.7.5。
我有一个使用 IgniteDb 作为缓存提供程序的应用程序。它使用发现 url 作为: 127.0.0.1:47500..47509。 现在我想在 Eclipse 中使用 java 代码连接到这个缓存。我把代码写成:
IgniteConfiguration cfg = new IgniteConfiguration().setBinaryConfiguration(
new BinaryConfiguration().setNameMapper(new BinaryBasicNameMapper(true)));
TcpDiscoveryMulticastIpFinder discoveryMulticastIpFinder = new TcpDiscoveryMulticastIpFinder();
Set<String> set = new HashSet<>();
set.add("127.0.0.1:47500..47509");
cfg.setPeerClassLoadingEnabled (true);
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoveryMulticastIpFinder.setAddresses(set);
discoverySpi.setNetworkTimeout (5000);
discoverySpi.setClientReconnectDisabled(true);
cfg.setDiscoverySpi(discoverySpi);
discoverySpi.setIpFinder(discoveryMulticastIpFinder);
cfg.setDiscoverySpi(discoverySpi);
Ignite ignite = Ignition.getOrStart(cfg);
IgniteCache<Integer, Person> cache = ignite.getOrCreateCache("person");
// Code to call cache put or get here
// putCache(cache);
//getCache(cache);
System.out.println("All Available Cache on server : "+ignite.cacheNames());
但是在 运行 上,我得到的错误是:
Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node and remote node have different version numbers
(node will not join, Ignite does not support rolling updates, so versions must be exactly the same)
[locBuildVer=2.7.5, rmtBuildVer=2.8.0,
locNodeAddrs=[aschauha-t470.apac.tibco.com/0:0:0:0:0:0:0:1, aschauha-t470.apac.tibco.com/10.98.51.252, /127.0.0.1, /192.168.0.101],
rmtNodeAddrs=[aschauha-t470.apac.tibco.com/0:0:0:0:0:0:0:1, aschauha-t470.apac.tibco.com/10.98.51.252, /127.0.0.1, /192.168.0.101],
locNodeId=e66eeea7-5427-4fe7-8368-884641af534b, rmtNodeId=35ad5deb-d212-4a85-812e-ec7d44caa4a8]
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:1997)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:1116)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:427)
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:2099)
at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:297)
... 10 more
请帮我解决这个问题。 另外,我上面提到的代码是连接到用作应用程序缓存的 ignite 数据库的正确方法吗?
错误消息告诉所有需要的:
Caused by: class org.apache.ignite.spi.IgniteSpiException: 本地节点和远程节点版本号不同 (节点不会加入,Ignite不支持滚动更新,所以版本必须完全一致) [locBuildVer=2.7.5, rmtBuildVer=2.8.0,
Ignite 仅支持来自相同节点的集群,因此,您应该将本地节点升级到 2.8.0 或将远程节点降级到 2.7.5。