Zookeeper是一个分布式协调系统,在各种NOSQL数据库和多个开源软件中被广泛使用。例如在Hadoop 2.0中就使用了Zookeeper:
HDFS 2.0的Namenode分为Active NN和Standby NN,其中SNN是ANN的热备。ANN和SNN使用共享存储来共享数据,但这不能实现自动的failover。而Zookeeper会不断接收到他们的心跳信息,当ANN发生故障时,选举SNN成为新的ANN,由此实现了fail over。且Hadoop刚启动时都是SNN,通过Zookeeper选举其一成为ANN。
http://zookeeper.apache.org/