一、下載zookeeper,上傳到服務器,解壓node
二、 修改配置文件名字:mv zoo_sample.cfg zoo.cfg
三、 修改配置文件中的datadir參數
四、 啓動服務端 zook:bin/zkServer.sh start ---- ---退出服務zook:bin/zkServer.sh stopvim
Mode:stadalone--單機模式
五、 啓動客戶端:bin/zkCli.sh ---退出客戶端 quit
配置參數解釋:
tickTime=2000:每一個心跳2s
initLimit=10 :LF初始化鏈接通訊時限10個心跳針
syncLimit=5:LF同步通訊時限5個心跳
clientPort=2181:客戶端鏈接端口號
zookeeper內部原理
一、半數機制
二、選舉機制:投票選舉制,超過半數爲leader,其餘爲follower
節點類型:持久節點(Persistent):客戶端與服務器斷開鏈接後,建立的節點依然存在
持久化目錄節點
持久化順序編號目錄節點
短暫節點(Ephemeral):客戶端與服務器斷開鏈接後,建立的節點本身刪除
臨時目錄節點
臨時順序編號目錄節點
順序節點做用:
建立Znode時設置順序標識,Znode名稱後附加一個值,順序號是一個單調遞增的計數器,由父節點維護。
在分佈式系統中,順序號能夠被用於全部的事假進行全局排序,這樣的客戶端能夠經過順序號推斷出事件的順序。服務器
客戶端與zookeeper斷開後,臨時節點都會刪除。分佈式
zookeeper分佈式安裝部署:ui
3臺服務器上在 zkData 中建立 文件myid(文件名字必須是myid) ,編輯內容爲當前服務器的編號 1 3 ...spa
cd zkData touch myid vim 2
vim zoo.cnf 增長:
server.2= ip:2888:3888
server.3= ip:2888:3888
server.4= ip:2888:3888
----server.A=B:C:D
A是一個數字,表示這個是第幾號服務器,
B是這個服務器的ip地址
C是這個服務器與集羣中的Leader服務器交互信息的端口
D是萬一集羣中的leader服務器掛了,須要一個端口來從新進行選舉,選出一個新的Leader
命令:xsync zoo.cfg ?
bin/zkServer.sh status:查看zookeeper狀態(leader或者follower)
create /zook myz02 :普通持久節點
create -s /zook myz02:持久順序節點
create -e /zook myz01 :短暫節點
create -e -s /zook myz01 :短暫順序節點
get /zook watch:監聽節點數據變化
ls path watch:監聽子節點變化
server