天天看點

Zookeeper 簡介、安裝、叢集、常用指令

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個