我们有 3 个节点的 Gridgain 服务器,并且在 GCP Kubernetes 引擎中部署了 3 个客户端节点。集群已启用本机持久性。也<property name="shutdownPolicy" value="GRACEFUL"/>作为关闭政策。每个缓存都有一个备份。集群自动重启后分区丢失。需要通过执行控制命令来重置这些分区。
你能为此提供适当的解决方案吗?我们有大约 60GB 的持久数据。
<property name="shutdownPolicy" value="GRACEFUL"/>如果满足某些条件,应该可以防止分区丢失:
缓存必须PARTITIONED带有backups > 0或REPLICATED。检查你的配置。Ignite 中的默认缓存配置是PARTITIONEDwith backups = 0(由于历史原因),因此默认值不起作用。
必须有多个基线节点(只有基线节点存储数据!)。这是文档。
您必须以优雅的方式停止节点。这有点棘手,因为你并不总是控制它。
kill进程,请确保它使用SIGTERM而不是SIGKILL因为后者总是立即终止该进程Ignite.close()这样做应该可以System.exit()它会工作,但如果你使用System.halt()- 它不会(因为halt()不优雅)terminationGracePeriodSeconds一个较高的值,以便 Kubernetes 等待节点完成正常关闭而不是杀死它们。要对此进行调试,请检查上述几点。我通常会首先查看服务器日志(带有IGNITE_QUIET=false!)以查看是否存在“调用关闭挂钩”消息。如果它不存在,那么您的关闭挂钩不会被调用,问题是第 3 点中的问题之一。否则,应该有其他日志消息来解释这种情况。
| 归档时间: |
|
| 查看次数: |
436 次 |
| 最近记录: |