我们在 3 个不同的服务器场中有 3 个 ignite 服务器节点,完全复制、启用持久性,并且所有服务器都是基线节点。如果有 2 个服务器节点发生故障(节点或连接崩溃或连接速度慢),则剩下的节点也会执行关闭操作,可能会猜测它已与网络断开连接。
是否可以让幸存的节点不关闭?
是否可以调整一些超时以避免与慢速网络或节点断开连接?
我在文档中找不到任何提示。
为了避免这个问题,我必须只运行一个服务器节点(我们试图使用 Ignite 来避免......)。
We have 3 ignite server nodes in 3 different server farms, full replicated, persistence enabled, and all servers area baseline nodes. It happens that if 2 server nodes fail (node or connection crash or slow connection), the remainig one also perform a shutdown, perhaps guessing it's disconnected from the network.
Is it possible to make the surviving node not to shutdown?
Is it possible to adjust some timeout to avoid disconnections from slow networks or nodes?
I cannot find any hint into the documentation.
To avoid the problem I've to run only one server node (what we tried to avoid using Ignite...).
发布评论
评论(1)
您可以尝试自定义 StopNodeOrHaltFailureHandler https://stackoverflow.com/questions/tagged/ignite 并将 SEGMENTATION 添加到ignoredFailureTypes。
但在这种情况下,如果所有 3 个节点都被分段并保持活动状态,则需要记住集群可能会进入裂脑状态。
要决定哪个节点应该用于缓存操作,您可以添加 TopologyValidator https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/TopologyValidator.html 缓存配置。并根据节点属性来决定允许使用哪个节点。
You can try to customize StopNodeOrHaltFailureHandler https://stackoverflow.com/questions/tagged/ignite with SEGMENTATION added to ignoredFailureTypes.
But in this case, if all 3 nodes are segmented and remain alive, you need to keep in mind that the cluster may enter the split-brain state.
To decide wich node should be used for cache operations, you can add TopologyValidator https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/TopologyValidator.html to cache config. And based on node attributes to decide which node is allowed.