gpt4 book ai didi

azure - Apache Ignite 2.9.0 从丢失的分区中恢复

转载 作者:行者123 更新时间:2023-12-03 00:57:28 26 4
gpt4 key购买 nike

我们在 Azure 中使用 kubernetes 设置了一个具有 native 持久性的 apache ignite 2.9.0 集群,具有 4 个节点。为了更新一些缓存配置,我们重新启动了所有 ignite 节点。重新启动后,在一个特定表上运行任何 sql 查询 - 会导致 2 个 ignite 节点重新启动,之后我们会看到丢失分区异常。

如果我们尝试重新启动所有节点以从丢失的分区中恢复,那么直到我们在该表上运行任何 sql 查询之后,2 个节点重新启动并且我们得到丢失分区异常为止,都没有问题。无论如何,我们可以从丢失的分区中恢复并克服这个问题吗?我们还想了解为什么会发生这种情况?我们找不到任何与此相关的日志。

最佳答案

当所有分区所有者离开网格时,该分区被认为丢失,您可能会认为这是一个特殊的内部标记。根据 PartitionLossPolicy,Ignite 可能会忽略这一事实并允许或禁止缓存操作以保护数据一致性。

如果您使用 native 持久性,那么很可能没有物理数据丢失,您所需要做的就是告诉 Ignite 您已了解情况,现在所有数据都已就位,并且可以安全地删除“丢失”标记从分区。

我认为处理此问题的最简单方法是使用 pod 内的控制脚本:

control.sh --cache reset_lost_partitions cacheName1,cacheName2,...

更多详情: https://ignite.apache.org/docs/latest/configuring-caches/partition-loss-policy#handling-partition-loss

关于azure - Apache Ignite 2.9.0 从丢失的分区中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65669213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com