节点缩小时的网格增益分区损失

问题描述

我们在 Google Kubernetes 集群中部署了 Gridgain 集群,它在启用持久性的情况下正常工作。我们需要启用自动缩放。在放大时没有任何错误,但在缩小时给出“分区丢失”。我们需要使用 control.sh 脚本来恢复这个丢失的分区。但不可能每次都这样。

有什么办法解决这个问题?缩小对 Gridgain 节点不起作用吗?

解决方法

通常你应该有足够的备份因子来抵消丢失的节点(例如,如果你有备份=2,你最多可以同时丢失 2 个节点)。

加上baselineAutoAdjust设置为合理的值,它应该提供缩小功能。

在启用数据丢失和持久性的情况下缩小规模确实需要重置丢失的分区。

,

除了@alamar 的回答之外,您还需要确保您的节点被正常停止。 Graceful shutdown 对您的数据执行额外的验证,并确保您在节点离开时不会丢失集群中的分区。

您可以通过搜索以下消息来验证正常关机:

Invoking shutdown hook...
...
Ensuring that caches have sufficient backups and local rebalance completion...

您可以使用以下选项进行设置:

感觉有时我可以看到系统属性的 #1 方法在 k8s 世界中可能无法正常工作。如果第一个似乎无法正常工作,请通过明确的 Ignite 配置调整检查后一个。

除上述之外,您可能还想禁用 baslientAdutoAdjustment(如果已启用)以防止数据重新平衡以进行短期放大和缩小。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...