节点重启时 Apache ignite 节点数据丢失恢复

Apache ignite node data loss recovery on node restart

这就是问题所在。

我启动了 6 个 ignite 服务器节点,在其中加载缓存。使用 "dbeaver" 查询它显示节点中的完整数据。 现在我关闭了一个节点。通过dbever查询,显示数据较少。 现在同一个节点我又开始了但是数据还是少

如何解决这个问题? 我不想在节点出现故障时丢失数据。如果节点重新启动,那么如何获取丢失的数据。

我正在从 MySql 数据库加载缓存。

您没有提供太多关于您的集群的信息,所以我猜您完全在内存中并且您正在使用默认设置来创建缓存。

默认缓存是分区的(即分片的),这就是为什么在关闭节点时会丢失数据。但是,您可以 have backups.

<bean class="org.apache.ignite.configuration.IgniteConfiguration">
...
<property name="cacheConfiguration">
    <bean class="org.apache.ignite.configuration.CacheConfiguration">
        <!-- Set a cache name. -->
        <property name="name" value="cacheName"/>
        <!-- Set cache mode. -->
        <property name="cacheMode" value="PARTITIONED"/>
        <!-- Number of backup nodes. -->
        <property name="backups" value="1"/>
        ... 
    </bean>
</property>
</bean> 

如果您使用分区丢失策略丢失了部分缓存,您也可以 change how Ignite behaves