Apache Ignite 无法在 Windows 中启动 GridManagerAdapter
Apache Ignite failing to start GridManagerAdapter in Windows
我已经下载了 2.7.5 二进制文件并尝试 运行 Windows 中的 Ignite 节点。这些是我得到的错误(简而言之):
- 无法启动管理器:GridManagerAdapter
- 无法启动 SPI:TcpDiscoverySpi
- 本地节点和远程节点的版本号不同
这是我的配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="TestCache"/>
<property name="atomicityMode" value="ATOMIC"/>
<property name="backups" value="1"/>
</bean>
</list>
</property>
<!-- Enabling Apache Ignite Persistent Store. -->
<property name="dataStorageConfiguration">
<bean class="org.apache.ignite.configuration.DataStorageConfiguration">
<property name="defaultDataRegionConfiguration">
<bean class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="persistenceEnabled" value="true"/>
<property name="metricsEnabled" value="true"/>
</bean>
</property>
</bean>
</property>
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
<property name="addresses">
<list>
<value>127.0.0.1:47500..47509</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
</beans>
解决这个问题的方法是什么?
所有服务器和胖客户端都需要使用相同版本的 Ignite。 (Ignite 的商业版本允许您混合使用多个版本,但即便如此,它实际上也只是为您在不停机的情况下升级集群而设计的。)
错误很明显:您不能在单个集群中混合使用不同版本的节点。很可能您已经在某处有一个 运行 2.7.0 进程,可能在另一台机器中。
首先,尝试将 TcpDiscoveryMulticastIpFinder 替换为静态 TcpDiscoveryVmIpFinder。这将强制节点仅连接到提供的 IP 地址列表。如果 TcpDiscoveryMulticastIpFinder 无法从预定义的地址列表连接,它将尝试扫描您的网络以查找 运行 个节点。
还要检查 运行 JAVA 启动进程并在需要时终止它们。
我已经下载了 2.7.5 二进制文件并尝试 运行 Windows 中的 Ignite 节点。这些是我得到的错误(简而言之):
- 无法启动管理器:GridManagerAdapter
- 无法启动 SPI:TcpDiscoverySpi
- 本地节点和远程节点的版本号不同
这是我的配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="TestCache"/>
<property name="atomicityMode" value="ATOMIC"/>
<property name="backups" value="1"/>
</bean>
</list>
</property>
<!-- Enabling Apache Ignite Persistent Store. -->
<property name="dataStorageConfiguration">
<bean class="org.apache.ignite.configuration.DataStorageConfiguration">
<property name="defaultDataRegionConfiguration">
<bean class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="persistenceEnabled" value="true"/>
<property name="metricsEnabled" value="true"/>
</bean>
</property>
</bean>
</property>
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
<property name="addresses">
<list>
<value>127.0.0.1:47500..47509</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
</beans>
解决这个问题的方法是什么?
所有服务器和胖客户端都需要使用相同版本的 Ignite。 (Ignite 的商业版本允许您混合使用多个版本,但即便如此,它实际上也只是为您在不停机的情况下升级集群而设计的。)
错误很明显:您不能在单个集群中混合使用不同版本的节点。很可能您已经在某处有一个 运行 2.7.0 进程,可能在另一台机器中。
首先,尝试将 TcpDiscoveryMulticastIpFinder 替换为静态 TcpDiscoveryVmIpFinder。这将强制节点仅连接到提供的 IP 地址列表。如果 TcpDiscoveryMulticastIpFinder 无法从预定义的地址列表连接,它将尝试扫描您的网络以查找 运行 个节点。
还要检查 运行 JAVA 启动进程并在需要时终止它们。