一 zk数据模型
1-zk的数据模型可以理解为linux/unix的文件目录;
2-每个节点称之为znode,可以有子节点,也可以有数据;
3-znode节点分为临时节点和永久节点,临时节点在客户端断开后消失;
4-znode节点有各自的版本号,可以通过命令行来显示节点信息;
5-znode节点数据发生变化时,节点的版本号会累加;
6-删除/修改过时节点,版本号不匹配则会报错;
7-每个znode节点存储的数据不宜过大,几k即可;
8-节点可以设置权限acl,可以通过权限限制用户访问;
二 zk特性watcher机制
1-zk中的watcher是一次性的,触发后会立即销毁,但是curator客户端可以修改此特性;
2-父节点watcher事件
watcher设置:get/stat path [watch]
watcher事件类型:NodeCreated/NodeDataChanged/NodeDeleted
stat /lvzhiwei watch
create /lvzhiwei 19940721 ##NodeCreated
stat /lvzhiwei watch
set /lvzhiwei 19940613 ##NodeDataChanged
stat /lvzhiwei watch
delete /lvzhiwei ##NodeDeleted
3-子节点watcher事件
watcher设置:ls parent-path [watch]
wathcer事件类型: NodeChildrenChanged
ls /lvzhiwei watch
create /lvzhiwei/chengmiao 520 ##NodeChildrenChanged
ls /lvzhiwei watch
delete /lvzhiwei/chengmiao ##NodeChildrenChanged
子节点数据改变,应当视为父节点NodeDataChanged事件
三 znode的acl权限解析
world:anyone:cdrwa 默认权限
create /lvzhiwei/chengmiao 520
setAcl /lvzhiwei/chengmiao world:anyone:crwa
create /lvzhiwei/chengmiao/lvrang 520
delete /lvzhiwei/chengmiao/lvrang ##Authentication is not valid
auth:user:pwd:cdrwa
digest:user:BASE64(SHA1(pwd)):cdrwa
addauth digest user:pwd
ip:192.168.1.1:cdrwa
四 zk四字命令
echo [commond] | nc [ip] [port]
[stat]:查看zk的状态信息,以及是否mode(单机或者分布式);
[ruok]:查看当前zkserver是否启动,返回imok;
[dump]:列出未经处理的会话和临时节点;
[conf]:查看服务器配置;
[cons]:展示连接到服务器的客户端信息;
[envi]:环境变量;
[mntr]:监控zk健康信息;
[wchs]:展示watch的信息;
[wchc]:session与watch信息;
[wchp]:path与watch信息;