Zookeeper简介

##简介
Zookeeper是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

参考: http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/

##特点

###1. 支持集群部署、水平扩展
zookeeper部署

无论Client连接的是哪个Server,获取到的数据都是一致的

###2. 数据结构——znode
与文件系统目录结构类似,每个znode可存储少量数据,适合用来存储状态、配置、网络位置等信息
znode层次结构

客户端可以监控znode的状态

###3. 读取速度快
zookeeper的数据缓存在内存中,定期持久化到磁盘,所以读取速度很快
zookeeper性能测试数据

读占比越大,并发越高

###4. API简单
zookeeper只提供以下方法

1
2
3
4
5
6
7
create:创建节点
delete:删除节点
exists:判断节点是否存在
get data:从节点获取数据
set data:往节点写数据
get children:获取子节点
sync:同步数据

##启动zookeeper
进入$ZOOKEEPER_HOME/bin,运行zkServer.sh start

##命令行交互
运行zkCli.sh,输入help可以查看所有命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[zk: localhost:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
connect host:port
get path [watch]
ls path [watch]
set path data [version]
rmr path
delquota [-n|-b] path
quit
printwatches on|off
create [-s] [-e] path data acl
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
setquota -n|-b val path