2019年面试官最喜欢问的28道ZooKeeper面试题(21)

18. zk 节点宕机如何处理?

Zookeeper 本身也是集群 , 推荐配置不少于 3 个服务器 。 Zookeeper 自身也要保证当一个节点宕机时 , 其他节点会继续提供服务 。

如果是一个 Follower 宕机 , 还有 2 台服务器提供访问 , 因为 Zookeeper 上的数据是有多个副本的 , 数据并不会丢失;

如果是一个 Leader 宕机 , Zookeeper 会选举出新的 Leader 。

ZK 集群的机制是只要超过半数的节点正常 , 集群就能正常提供服务 。 只有在 ZK节点挂得太多 , 只剩一半或不到一半节点能工作 , 集群才失效 。

所以

3 个节点的 cluster 可以挂掉 1 个节点(leader 可以得到 2 票>1.5)

2 个节点的 cluster 就不能挂掉任何 1 个节点了(leader 可以得到 1 票<=1)

推荐阅读