下載zookeeper安裝包
解壓
復(fù)制conf下zoo.cfg文件
啟動zookeeper sh zkServer.sh start
使用客戶端
sh ZkCli.sh?
zookeeper存儲方式是key value形式的 創(chuàng)建刪除查詢修改節(jié)點
使用help命令
create 創(chuàng)建 ?create /orderservice 0 ?【path】【value】
使用ls /查看我們創(chuàng)建的目錄
創(chuàng)建節(jié)點wsdl節(jié)點
create /orderservice/wsdl ?http:192.168.0.1?wsdl
刪除必須一層層的刪除
delete /orderservice/wsdl?
節(jié)點特性
節(jié)點要有唯一性,類似于windows創(chuàng)建文件夾D盤下不存在名稱相同的同級文件夾
臨時節(jié)點和持久化節(jié)點
有序節(jié)點和無序節(jié)點
臨時節(jié)點下不能存在子節(jié)點
集群搭建
server.id=ip:port:port
第一個端口:通信用的
第二個端口:選舉leader用的
server.1=172.100.23.110:2888:3888
server.2=172.100.20.99:2888:3888
server.3=172.100.23.205:2888:3888
然后在/temp/zookeeper/下創(chuàng)建myid文件
章節(jié)回顧

zoo.cfg詳解

ticktime 單位毫秒心跳時間
initLimit 10個ticktime
synclimit 5個ticktime? 同步時間 leader follower
dataDir 不建議放在tmp文件 存放日志文件
clientPort 對外提供的端口

mZxid 更新事務(wù)id
cZxid 創(chuàng)建事務(wù)id
假如沒有更新數(shù)據(jù)則這兩個id是一樣的
pZxid 子節(jié)點事務(wù)id(子節(jié)點變更后才會產(chǎn)生pxid的影響)
version是一個樂觀鎖的概念通過版本號控制
cversion(當(dāng)前節(jié)點子節(jié)點版本號)
dataversion(當(dāng)前節(jié)點數(shù)據(jù)內(nèi)容版本號)
aclversion(權(quán)限變更版本號)
三個版本號是來控制數(shù)據(jù)的并發(fā)性的
ephemeralOwner 只有臨時節(jié)點才會存在
例子

ACL 設(shè)置訪問權(quán)限
create/read/write/delete/admin
集群角色

非事務(wù)請求可以落到任意節(jié)點,如果事務(wù)請求落到非leader節(jié)點會轉(zhuǎn)發(fā)到leader
數(shù)據(jù)模型

會話
not_connected----------------------connecting--------------connected--------close
zookeeper使用場景
配置中心(基于watcher機制動態(tài)感知配置變化)
負(fù)載均衡(知道機器狀態(tài),選舉master)
分布式鎖