为什么80%的码农都做不了架构师?>>>
1、现象:
昨天发现zookeeper有两个从节点(zk是1主2从)无缘无故down掉,抓到如下日志,网上找了一圈没有相关解答。。
2、影响:
两个从节点down掉后应用会一直报和zookeeper通信异常的报错,相应的会有某些实例报read time out
3、推测:
当Zk集群只有一个Leader(所有其他follower down掉)的时候,Leader只是负责zk集群的管理和系统状态的同步,
leader不会承担起从节点接受客户端请求并向客户端返回结果的功能。
客户端开始出现在zk中注册失败的情况,客户端应用状态会出现一致性得不到统一的情况,部分应用节点出现异常。
由于应用还有部分节点在正常使用,应用的可用性不受影响,但系统的容量降低了。
2016-03-12 04:07:25,220 [myid:2] - WARN [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Follower@89] - Exception when following the leader
java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:392)
at org.apache.jute.BinaryInputArchive.readInt(BinaryInputArchive.java:63)
at org.apache.zookeeper.server.quorum.QuorumPacket.deserialize(QuorumPacket.java:83)
at org.apache.jute.BinaryInputArchive.readRecord(BinaryInputArchive.java:103)
at org.apache.zookeeper.server.quorum.Learner.readPacket(Learner.java:153)
at org.apache.zookeeper.server.quorum.Follower.followLeader(Follower.java:85)
at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:786)
2016-03-12 04:07:25,222 [myid:2] - INFO [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:2181:Follower@166] - shutdown called
java.lang.Exception: shutdown Follower
at org.apache.zookeeper.server.quorum.Follower.shutdown(Follower.java:166)
at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:790)