Zookeeper被普遍应用于各类分布式集群场景中,好比Hadoop、Storm、Spark、Kafka等,要想学好大数据分析,不可避免的要用到大规模机器集群,了解和掌握Zookeeper的工做原理将会对学好大数据分析起到事半功倍的做用。node
一、实时配置文件算法
Zookeeper能够做为互联网应用的实时配置开关,将配置信息设置在Zookeeper的node上,并在应用中设置Zookeeper的观察者,实时获取该node关联数据的变化,达到动态实时控制应用的配置信息的目的,实时调控生产环境各项参数。apache
在大型电商网站中,这种方式可用于节假日等流量爆发的场景,关闭某些不过重要的电商网站功能,下降并发量大爆发对服务器性能的冲击。 服务器
二、Kafka中使用并发
Kafka经过Zookeeper的使用提供给客户端负载均衡能力,每一个Kafka客户端直接经过链接Zookeeper就能得到整个Kafka的配置信息。负载均衡
Kafka将队列服务的机器注册在Zookeeper上,同时维护客户端列表,依靠负载均衡算法将客户端动态分配到合适的队列分区上,维持整个集群的负载均衡。客户端不须要预先知道当前的队列到底分配在哪一个机器上,经过Zookeeper获取队列分配的动态变化。分布式
三、Hadoop使用oop
在Hadoop1.x版本中Master是单节点模式,存在单点故障不支持热备份。Hadoop2.x版本已经开始支持使用Zookeeper做为Master节点的高可靠性方案。性能
Hadoop客户端链接集群时指定Zookeeper服务器地址,从Zookeeper获取当前Master节点地址,进而链接Master操做Hadoop。Hadoop客户端同时监听Zookeeper中数据变化,当Master节点切换时会将切换状态变动保存到Zookeeper中,同时Zookeeper会触发数据变化监听客户端,通知Hadoop客户端切换Master地址,达到热切换(HA)的目的。大数据
四、参考
ZooKeeper官网:http://zookeeper.apache.org/
Netty官网:http://netty.io/