Zookeeper作为一个开源的分布式的,为分布式应用提供协调服务的Apache项目。
它有一个很重要的特点:半数机制,集群中只要有半数以上节点存活,Zookeeper集群就能正常服务,所以Zookeeper适合安装奇数台服务器(最少3台)。
Zookeeper虽然在配置文件中并没有指定Master和Slave。但是,Zookeeper工作时,是有一个节点为Leader,其他则为Follower,Leader是通过内部的选举机制临时产生的。
下面我就用一个简单的例子来说明整个选举的过程。
首先我们假设有五台服务器组成的Zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的,并且这些服务器是从1-5依序启动的。