如何解决节点缩小时的网格增益分区损失
我们在 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...
您可以使用以下选项进行设置:
- 配置 IGNITE_WAIT_FOR_BACKUPS_ON_SHUTDOWN 系统属性
- 使用 XML/代码配置明确地将 IgniteConfiguration#setShutdownPolicy 设置为 优雅。默认值为 IMMEDIATE。
感觉有时我可以看到系统属性的 #1 方法在 k8s 世界中可能无法正常工作。如果第一个似乎无法正常工作,请通过明确的 Ignite 配置调整检查后一个。
除上述之外,您可能还想禁用 baslientAdutoAdjustment(如果已启用)以防止数据重新平衡以进行短期放大和缩小。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。