1.zookeeper简介
用户解决分布式协作的难点,是一个高性能高可用的分布式协调服务,雅虎公司创建,google的chubby项目开源实现。最早是hadoop的子项目,也是Hbase项目的组件。
小米米聊、淘宝Taokeeper其实类zookeeper。
Kafka使用zookeeper,实现消息发布订阅,其中zk就是用于检测节点崩溃。实现主题的发现,并且保持主题的生产和消费状态。
Hbase的三段查找,Root-Region=》Meta Region=》Region(Table)。hbase的元数据信息放在HBase。HMaster挂掉,马上要节点恢复。
Hadoop。NameNode(SecondaryNameNode),HA Hadoop。一般情况下一个简单的hadoop集群,只有一个NameNode,如果NameNode挂掉,hadoop集群不可用。HA Haoop里面就要用到zk。
zookeeper 是apache旗下的hadoop子项目,它一个开源的,分布式的服务协调器。同样通过zookeeper可以实现服务间的同步与配置维护。通常情况下,在分布式应用开发中,协调服务这样的工作不是件容易的事,很容易出现死锁,不恰当的选举竞争等。zookeeper就是担负起了分布式协调的重担。
2.Zookeeper解决哪些问题
-
Master节点管理
解决的问题:Master高可用(挂掉以后,谁来负责工作),保证唯一。
-
配置文件管理
解决的问题:统一把配置文件存放zk,由ZK统一分发。
-
发布与订阅
发布者(producer)讲数据发布到zk节点上,供订阅者(consumer)动态获取。
-
分布式锁
分布式环境访问统一个资源,由第三方配锁实现。
解决的问题:由zk统一进行协调,保证数据的一致性。
5.集群的管理
Worker集群监控。