当我使用QUORUM = 2运行3个mesos-master时,他们在被选为领导者后1分钟失败,给出错误:
E1015 11:50:35.539562 19150 socket.hpp:174] Shutdown failed on fd=25: Transport endpoint is not connected [107]
E1015 11:50:35.539897 19150 socket.hpp:174] Shutdown failed on fd=24: Transport endpoint is not connected [107]
他们继续在一个循环中相互选举,一直失败并重新选举。
如果我设置QUORUM = 1,一切正常。这可能是什么原因?
答案 0 :(得分:1)
一个问题是AWS防火墙阻止了达到服务器的公共IP,并且zookeeper正在广播公共IP(在advertise_ip中设置),因此没有人能够相互连接。奴隶也无法以相同的错误连接到主人。
当我将本地IP设置为advertise_ip(以便Zookeeper广播本地IP)时,主设备可以进行通信并且QUORUM = 2可以工作。当我删除防火墙规则时,从属设备可以连接到主服务器。
答案 1 :(得分:0)
我们遇到了同样的问题,mesos-master日志充斥着如下消息:
mesos-master [27499]:E0616 14:29:39.310302 27523 socket.hpp:174] fd = 67时关闭失败:传输端点未连接[107]
原来是对/stats.json的负载均衡器运行状况检查
答案 2 :(得分:0)
昨天我们遇到了类似的问题,由于尚未部署某些应用程序,因此马拉松比赛有点奇怪。奇怪的是,应用程序启动了,但是运行状况检查从未变为绿色,因此nixy并未更新nginx。
经过大量调查,我们发现了同样的错误:
E0718 18:51:05.836688 5049 socket.hpp:107] Shutdown failed on fd=46: Transport endpoint is not connected [107]
最后,我们发现问题出在选举中,即使我们的QUORUM = 1(我们有2个主设备)也以某种方式松散了自己,而一个主设备却没有与另一个主设备进行通信。
为解决此问题,我们使用Marathon API / v2 / leader DELETE方法触发了一次新选举,此后一切正常。