zk簡介
zk的下載下傳安裝
zk server 常用指令
配置項介紹
連接配接到zk server
搭建zk server叢集
zk cli常用指令
zookeeper 動物園管理者,可以用來管理 hadoop(大象)、hive(蜜蜂)、pig(小 豬)、tomcat(貓)等。
zk是一個高性能的分布式管理、協調架構,主要功能包括
服務治理
作為配置中心,統一管理配置。dubbo的服務治理、配置中心一般用zk來實作。
實作分布式鎖。使用臨時znode實作。
釋出/訂閱,使用watcher機制實作。
實作隊列。利用zk執行寫請求的順序一緻性來實作(paxos算法)。
zk不是資料庫、消息中間件之類的專門存儲大量資料的元件,一般不用于存儲大量資料,zk可以實作隊列,但一般不用zk實作隊列。
下載下傳位址:https://zookeeper.apache.org/releases.html
下載下傳 .tar.gz,win、linux都是同一個安裝包
zk依賴于jdk,需要先安裝jdk,配置jdk的環境變量。
zk可以直接被外網通路,不需要在配置檔案中綁定本機實際ip。
zoo.cfg
1、使用zk自帶的指令行用戶端,bin/zkCli.sh
2、使用圖形化用戶端
ZooInspe,老牌用戶端,界面很土,不推薦,https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip,輕按兩下運作build裡面的.jar。
PrettyZoo,界面好看,操作友善,推薦,https://github.com/vran-dev/PrettyZoo
至少3個zk server,官方建議奇數個。
1、在每個zk server的zoo.cfg中,clientPort配置項的下面添加叢集資訊配置
指定各個zk server的myid、ip,myid唯一辨別一個zk server,有的習慣從0開始,有的習慣從1開始。
2181是zk client、zk server之間通信的端口,2888是zk server節點之間通信的端口,3888是follower選舉leader時使用的端口。
2、編輯各個zk server的data/myid,寫上對應的myid
eg. server.1=192.168.1.1:2888:3888 ,192.168.1.1這個zk server的myid就是1(server後面的數字)
3、啟動各個zk server,會自動配置設定角色(leader、follower、observer)。leader隻有1個