我一直在测试具有以下设置的 Master / Worker 集群:
- 2个虚拟服务器,每个服务器有一个Master和一个Worker(独立的jvm)
- Master 使用 ClusterSingletonManager 实例化
- Masters也是种子节点。
我正在通过手动关闭“活动”主节点来测试主节点的故障转移。在工人不处理任务的情况下,故障转移工作正常。“非活动”主节点确实检测到另一个节点无法访问,并最终将启动它的主角色。
但是如果工作人员很忙,那么故障转移就不会完全起作用。如以下消息所示,“非活动”主节点确实将另一个节点检测为不可访问并隔离,但该节点从不启动主角色。
2014-07-23 23:52:31,777 INFO [JobRunner-akka.actor.default-dispatcher-17] 隔离地址 [akka.tcp://JobRunner@12.3.201.135:40000] 仍然无法访问或尚未重新启动。保持隔离。
任何人都知道为什么会发生这种情况以及是否有解决方案?
谢谢。问候。