zookeeper的数据都是以数据文件的形式存储的,临时文件下面不可以再建文件数据。
zookeeper的默认监视事件只会执行一次,可以利用zkclinet 或者 curator多次触发监控事件,并可以利用他们的选举(和zookeeper的集群选举不同)可选举一台机器执行某个业务或者事件。
可以注册watcher的方法:getData、exists、getChildren 可以触发watcher的方法:create、delete、setData 连接断开的情况下触发的watcher会丢失。
zookeeper的监听机制可以用于分布式服务的配置中心,session心跳(如果服务宕机临时文件过了session有效时间就会删除)可以用于分布式服务的服务监控,顺序序列可用于分布式服务的唯一id生成。
常用命令:
create /path data //普通节点
create -s /path data //顺序节点
create -e /path data //临时节点
get /path //获取数据
set /path /data //设置数据
create /parent/path/subnode/path data //创建子节点
ls /path //列出子节点
stat /path //检查状态
rmr /path //移除节点,只适用于没有子节点的
ACL权限设置
getAcl /parent //查看ACl
[zk: localhost:2181(CONNECTED) 122] getAcl /parent
'world,'anyone
: cdrwa //增删读写控制(admin)权限
addauth digest zhangsan:12345 //添加用户
setAcl /parent auth:zhangsan:123456:rdwca //设置权限
setAcl /parent world:anyone:wa //设置对所有人都有写和管理权限