我一直在测试具有以下设置的主/工作集群:
- 2个虚拟服务器,每个服务器有一个Master和一个Worker(独立的jvm)
- Master 使用 ClusterSingletonManager 实例化
- 大师也是种子节点。
我通过手动关闭“Activity ”主节点来测试主节点的故障转移。在工作人员不处理任务的情况下,故障转移工作正常。 “非 Activity ”主节点确实检测到另一个节点无法访问,并最终将启动其主参与者。
但是如果工作线程很忙,那么故障转移就无法完全工作。 “非 Activity ”主节点确实检测到另一个节点无法访问并隔离,如下面的消息所示,但该节点永远不会启动主参与者。
2014-07-23 23:52:31,777 INFO [JobRunner-akka.actor.default-dispatcher-17] Quarantined address [akka.tcp://JobRunner@12.3.201.135:40000] is still unreachable or has not been restarted. Keeping it quarantined.
有人知道为什么会发生这种情况以及是否有解决方案?
谢谢。 问候。
最佳答案
最终,将主节点放在自己的服务器上(与工作节点分开)是有效的。
关于java - ClusterSingletonManager 未进行故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24923050/