一.簡介 ZK的安裝和配置十分簡單,既可以配置成單機模式,也可以配置成集群模式,zk使用java編寫的運行在java環境上,3個ZK服務進程是建議的最小進程數量,而且建議部署在不通的物理機上面,減少宕機帶來的風險。 二.下載並解壓 http://www.apache.org/dyn/closer.c ...
一.簡介
ZK的安裝和配置十分簡單,既可以配置成單機模式,也可以配置成集群模式,zk使用java編寫的運行在java環境上,3個ZK服務進程是建議的最小進程數量,而且建議部署在不通的物理機上面,減少宕機帶來的風險。
二.下載並解壓 http://www.apache.org/dyn/closer.cgi/zookeeper/
三. 目錄結構
bin zk的可執行腳本目錄,包括zk服務進程,zk客戶端,等腳本。其中,.sh是Linux環境下的腳本,.cmd是Windows環境下的腳本。
conf 配置文件目錄。zoo_sample.cfg為樣例配置文件,需要修改為自己的名稱,一般為zoo.cfg。log4j.properties為日誌配置文件。
lib zk依賴的包。
contrib 一些用於操作zk的工具包。
recipes zk某些用法的代碼示例
四:配置項
配置:移動config下麵的zoo_sample.cfg並重命名為zoo.cfg,打開zoo.cfg,看到預設配置如下:
tickTime: 時長單位為毫秒,為zk使用的基本時間度量單位。伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳,tickTime的預設值為2000毫秒,更低的tickTime值可以更快地發現超時問題,但也會導致更高的網路流量(心跳消息)和更高的CPU使用率(會話的跟蹤處理)。
clientPort:客戶端連接 Zookeeper 伺服器的埠,zk服務進程監聽的TCP埠,預設情況下,服務端會監聽2181埠。
dataDir:無預設配置,必須配置,用於配置存儲快照文件的目錄。如果沒有配置dataLogDir,那麼事務日誌也會存儲在此目錄。
initLimit:集群中的follower伺服器與leader伺服器之間初始連接時能容忍的最多心跳數。(tickTime數量)
syncLimit:集群中的follower伺服器與leader伺服器之間請求和應答之間能容忍的最多心跳數。(tickTime數量)
dataLogDir:日誌文件目錄
server.N=IP:port:port 伺服器名稱與地址:集群信息(伺服器編號,伺服器地址,leader follower通信埠,選舉埠)
五:啟動
./zkServer.sh start
後臺運行:
./zkServer.sh start-foreground
六:連接
bin/zkCli.sh -server ip:port
七:client支持的命令
stat path [watch]
set path data [version] 設置節點數據
ls path [watch] 查看節點數據
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version] 刪除節點
sync path
listquota path
rmr path
get path [watch] 獲取節點
create [-s] [-e] path data acl 創建節點
addauth scheme auth
quit
getAcl path
close
connect host:port