Apache Ignite:节点重启后每次都会出现分区丢失错误

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

我正在运行一个由三个节点组成的具有持久性的 Apache Ignite .Net 2.14 集群。我注意到,每次任何节点因任何原因重新启动时,客户端应用程序都会开始失败,并出现以下错误:无法执行缓存操作(所有分区所有者都已离开网格,分区数据已丢失)。

我已经熟悉了这个错误,并学会了在发生错误时运行

control.sh --cache reset_lost_partitions
。然而,这意味着每次节点重新启动时都需要手动干预,并且客户端应用程序将关闭,直到注意到错误并运行控制脚本。

我想知道如果集群使用持久性,每个分区都有备份副本并且在节点重新启动时预计不会丢失数据,为什么会出现此错误?是否是由于配置或部署不当导致的?如果是这样,我应该检查哪些设置?

如果这是预期的行为,那么我想知道在未来的版本中是否有改变它的计划?如果没有发生真正的数据丢失,这种行为只会增加操作复杂性并减少客户端应用程序的正常运行时间。

另外,我想知道网格增益是否有相同的行为。迁移到该产品有帮助吗?

提前谢谢您。

ignite
1个回答
0
投票

很可能您确实有一些缓存的备份数为 0。该系统被设计为仅在集群中没有数据副本的情况下触发这些错误。您需要验证与该命令交互的所有缓存

control.sh --cache reset_lost_partitions <cache list>

有 1 个(或更多)备份,并且只有一个节点已关闭。

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