安裝zookeeper

下載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)

分布式鎖

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容