无法在春季启动ignite客户端

问题描述 投票:0回答:1

我有一个使用缓存机制的Spring云项目,我们通过在pom.xml中添加依赖关系,在应用中使用ignite缓存。我们通过在pom.xml中添加依赖关系,在应用中使用ignite缓存。

    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-core</artifactId>
        <version>${ignite.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-spring</artifactId>
        <version>${ignite.version}</version>
    </dependency> 
    <dependency>
      <groupId>org.apache.ignite</groupId>
      <artifactId>ignite-rest-http</artifactId>
      <version>${ignite.version}</version>
    </dependency>

在属性标签中,我们提到ignite的版本是2.7.0(客户端)。ignite单机版服务器也有相同的版本,在同一台机器上运行。

    [19:45:37,471][SEVERE][restartedMain][IgniteKernal] Failed to start manager: GridManagerAdapter [enabled=true, name=o.a.i.i.managers.discovery.GridDiscoveryManager]
    class org.apache.ignite.IgniteCheckedException: Failed to start SPI: TcpDiscoverySpi [addrRslvr=null, sockTimeout=5000, ackTimeout=5000, marsh=JdkMarshaller [clsFilter=org.apache.ignite.marshaller.MarshallerUtils$1@334f6d54], reconCnt=10, reconDelay=2000, maxAckTimeout=600000, forceSrvMode=false, clientReconnectDisabled=false, internalLsnr=null]
        at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:300)
        at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:939)
        at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1682)
        at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1066)
        at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2038)
        at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1730)
        at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1158)
        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:656)
        at org.apache.ignite.IgniteSpring.start(IgniteSpring.java:66)
        at org.apache.ignite.cache.spring.SpringCacheManager.onApplicationEvent(SpringCacheManager.java:332)
        at org.apache.ignite.cache.spring.SpringCacheManager.onApplicationEvent(SpringCacheManager.java:146)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360)
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
        at com.ibs.ps.PsAuthServiceApplication.main(PsAuthServiceApplication.java:21)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
    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.8.0, rmtBuildVer=2.7.0, locNodeAddrs=[test.test.com/0:0:0:0:0:0:0:1, /127.0.0.1, /192.168.00.00], rmtNodeAddrs=[127.0.0.1], locNodeId=9aa05a68-b0f4-4fa9-b288-cc7c32caf691, rmtNodeId=14ea4223-b6e7-4084-b5a8-89481d99de53]
        at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:1946)
        at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1888)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
        at org.apache.ignite.spi.discovery.tcp.ClientImpl$1.body(ClientImpl.java:304)
        at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) 

谁能帮我解决这个问题。先谢谢你。

spring-boot ignite
1个回答
2
投票

根据异常。

原因是:class org.apache.ignite.spi.IgniteSpiException。本地节点和远程节点的版本号不同(节点不会加入,Ignite不支持滚动更新,所以版本必须完全相同)[locBuildVer=2.8.0,rmtBuildVer=2.7. 0, locNodeAddrs=[test.test.com0:0:0:0:0:0:1, 127.0.0.1, 192.168.00.00], rmtNodeAddrs=[127.0.0.1], locNodeId=9aa05a68-b0f4-4fa9-b288-cc7c32caf691, rmtNodeId=14ea4223-b6e7-4084-b5a8-89481d99de53] 。

在Apache Ignite中不可能有一个混合集群。你应该选择2.8.0或2.7.0。

不过GridGain版确实允许你拥有一个多版本的集群。

© www.soinside.com 2019 - 2024. All rights reserved.