本文只是简单介绍zookeeper,做一个备忘。具体的详细介绍可以自己看代码。另外http://agapple.iteye.com/的博客里也有详细的学习记录。
什么是zookeeper?
Zookeeper是hadoop社区的一款开源框架,用来解决分布式环境下的一致性问题。
类似于google的chubby系统的实现。关于chubby可以阅读google的论文:
http://wenku.baidu.com/view/472d27a0284ac850ad0242ee.html,google的bigtable论文为了解决分布式系统中master节点唯一性的问题,就采用了chubby的解决方案。在bigtable的变种hbase中也采用了类似解决方案,也就是zookeeper.关于bigtable的论文可以阅读:
http://wenku.baidu.com/view/4967070e76c66137ee061993.html
Zookeeper实现
Paxos主要是对Paxos算法做了一个实现,淘宝的人已经有了总结:http://rdc.taobao.com/blog/cs/?p=162
然后我们来看看zookeeper实现那些特点。
1. 树形目录文件结构
从图中可以看出,整个集群维护这么一份树状结构。
2. 配置推送
客户端可以通过注册的方式向服务端注册一个watch,假如服务端事件发生,则会通知客户端回调watch的逻辑, 每一种按同步还是异步,添加指定watcher还是默认watcher又分为4种。默认watcher可以在ZooKeeper zk = new ZooKeeper(serverList, sessionTimeout, watcher)中进行指定。如果包含boolean watch的读方法传入true则将默认watcher注册为所关注事件的watch。如果传入false则不注册任何watch
3. 通过选举仲裁集群成员的集群管理策略
这块可以阅读:
http://rdc.taobao.com/blog/cs/?p=162
还能用来做什么?
在单机环境下产生的锁问题,以及临界区代码的一致性问题,到了分布式环境下这么解决呢?这个时候就可以利用zookeeper了。
例如分布式的队列,锁,Barrier等等
官方就提供好几个例子供大家查阅:
http://zookeeper.apache.org/doc/r3.3.2/recipes.html#sc_doubleBarriers
分享到:
相关推荐
zookeeper 介绍、部署、可视化插件、zookeeper的应用场景...... ZooKeeper是一个分布式的,开放源码的分布式系统的协调服务。它的数据是存储在内存中的,所以访问速度很快。基于对Paxos算法(一种基于消息传递的一致...
Hadoop深入浅出之Zookeeper介绍.pptx
介绍了关于zookeeper的使用、原理及经典案例,可供学习参考
zookeeper简单命令和一些简单的介绍,可以提供给大家学习和参考,其中包括一zookeeper的一些原理和实现机制,从浅入深的讲解可以更好的让大家理解和吸收
ZooKeeper技术原理与应用 ZooKeeper是一种分布式协调服务,用于维护和监控存储数据状态的变化,解决分布式集群中应用程序的一致性问题。 ZooKeeper的核心是原子广播机制,保障了各个Server之间的同步。 ZooKeeper...
zookeeper官方文档 zookeeper zookeeper集群 zookeeper介绍
1.zookeeper介绍、安装方式和应用场景 2.zookeeper的单机安装和配置文件介绍 3.zookeeper的集群安装 4.zookeeper的数据结构、节点类型、数据持久化 5.zookeeper命令行相关操作 6.zookeeper的基本特性、watch监听和...
zookeeper简介,方便了解zookeeper的前世今生,方便大家。
Zookeeper 是一个开源的、分布式的,为分布式应用提供协调服务的 Apache 项目。 二、特点 1、zookeeper 中是由一个领导者(Leader)、多个跟随者(Follower)组成的集群。 2、集群中只要有半数以上节点存活,zookeeper ...
Zookeeper分布式服务框架是ApacheHadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等等。Zookeeper中的角色主要有...
NULL 博文链接:https://chengjianxiaoxue.iteye.com/blog/2168799
第2章介绍基本概念和基本组成模块,并通过命令行工具的具体操作介绍了ZooKeeper可以做什么。第二部分(第3~8章)阐述开发人员所需要掌握的ZooKeeper库调用方法和编程技巧。第3章介绍Java语言的API.第4章解释如何...
Zookeeper场景介绍1
《Paxos到Zookeeper:分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式...
※ zk基础知识介绍 ※ zk数据模型介绍 ※ zk数据模型中znode的介绍 ※ zk数据监听 ※ zk的acl ※ zk单节点基本操作 ※ zk集群操作 ※ zk的java客户端操作
第2章介绍基本概念和基本组成模块,并通过命令行工具的具体操作介绍了ZooKeeper可以做什么。第二部分(第3~8章)阐述开发人员所需要掌握的ZooKeeper库调用方法和编程技巧。第3章介绍Java语言的API.第4章解释如何...