- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图了解 Apache ZooKeeper 在裂脑情况下的内部工作原理。假设有一个由 5 个服务器组成的集群:A、B、C、D 和 E,其中 A 是领导者。现在假设子簇 {A, B} 与子簇 {C, D, E} 分离。
在这种情况下,子集群 {C, D, E} 可以选举一个新的领导者并取得进展。另一方面,{A, B} 不能取得进展,因为没有大多数节点来确认更新。
我很好奇:
最佳答案
在对本地集群进行了一些试验后,我想我弄清楚了这种行为。
我启动了一个由 5 个节点组成的本地集群,然后删除了其中的 2 个节点。其余 3 个节点仍占多数,因此集群已启动并运行。此时我连接了一个客户端。
然后我关闭了另一台服务器,此时剩余的 2 个节点无法维持集群正常运行。
1) 在剩下的两个节点之一(恰好是领导者)的日志中,我可以看到:
[myid:5] - WARN [RecvWorker:3:QuorumCnxManager$RecvWorker@762] - Connection broken for id 3, my id = 5, error = java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) at org.apache.zookeeper.server.quorum.QuorumCnxManager$RecvWorker.run(QuorumCnxManager.java:747)
[myid:5] - INFO [QuorumPeer[myid=5]/127.0.0.1:2185:FastLeaderElection@740] - New election. My id = 5, proposed zxid=0x300000002
[myid:] - INFO [main-SendThread(localhost:2185):ClientCnxn$SendThread@966] - Opening socket connection to server localhost/127.0.0.1:2185. Will not attempt to authenticate using SASL (unknown error)
[myid:] - INFO [main-SendThread(localhost:2185):ClientCnxn$SendThread@849] - Socket connection established to localhost/127.0.0.1:2185, initiating session
[myid:] - INFO [main-SendThread(localhost:2185):ClientCnxn$SendThread@1085] - Unable to read additional data from server sessionid 0x343d9a80f220000, likely server has closed socket, closing socket connection and attempting reconnect
关于apache-zookeeper - ZooKeeper 在裂脑场景中的内部行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21380664/
我是一名优秀的程序员,十分优秀!