一 zk數(shù)據(jù)模型
1-zk的數(shù)據(jù)模型可以理解為linux/unix的文件目錄划乖;
2-每個節(jié)點稱之為znode症概,可以有子節(jié)點,也可以有數(shù)據(jù)马篮;
3-znode節(jié)點分為臨時節(jié)點和永久節(jié)點便锨,臨時節(jié)點在客戶端斷開后消失歪架;
4-znode節(jié)點有各自的版本號,可以通過命令行來顯示節(jié)點信息葛闷;
5-znode節(jié)點數(shù)據(jù)發(fā)生變化時憋槐,節(jié)點的版本號會累加;
6-刪除/修改過時節(jié)點淑趾,版本號不匹配則會報錯阳仔;
7-每個znode節(jié)點存儲的數(shù)據(jù)不宜過大,幾k即可扣泊;
8-節(jié)點可以設(shè)置權(quán)限acl近范,可以通過權(quán)限限制用戶訪問;
二 zk特性watcher機制
1-zk中的watcher是一次性的延蟹,觸發(fā)后會立即銷毀评矩,但是curator客戶端可以修改此特性;
2-父節(jié)點watcher事件
watcher設(shè)置: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-子節(jié)點watcher事件
watcher設(shè)置:ls parent-path [watch]
wathcer事件類型: NodeChildrenChanged
ls /lvzhiwei watch
create /lvzhiwei/chengmiao 520 ##NodeChildrenChanged
ls /lvzhiwei watch
delete /lvzhiwei/chengmiao ##NodeChildrenChanged
子節(jié)點數(shù)據(jù)改變阱飘,應(yīng)當(dāng)視為父節(jié)點NodeDataChanged事件
三 znode的acl權(quán)限解析
world:anyone:cdrwa 默認權(quán)限
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的狀態(tài)信息斥杜,以及是否mode(單機或者分布式)虱颗;
[ruok]:查看當(dāng)前zkserver是否啟動,返回imok蔗喂;
[dump]:列出未經(jīng)處理的會話和臨時節(jié)點忘渔;
[conf]:查看服務(wù)器配置;
[cons]:展示連接到服務(wù)器的客戶端信息缰儿;
[envi]:環(huán)境變量畦粮;
[mntr]:監(jiān)控zk健康信息;
[wchs]:展示watch的信息乖阵;
[wchc]:session與watch信息锈玉;
[wchp]:path與watch信息;