节点重启时 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。
这就是问题所在。
我启动了 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。