轉載請注明源出處:http://www.cnblogs.com/lighten/p/6798669.html
1 簡介
zookeeper是Apache的一個開源項目,致力於開發和維護一個開源的服務器,其能夠實現高度可靠的分布式協調程序。zookeeper用於維護配置信息,命名,提供分布式同步和提供組服務的集中式服務。所有的這些類型服務被分布式應用程序以一些形式或另一種使用。每次使用它們的時候,都會做很多工作來修復不可避免的錯誤和競爭條件。
2 下載
下載地址點擊:這里。
3 配置
解壓文件夾,我下載的是3.4.10版本的,里面的目錄結構如下圖:
進入conf文件夾,復制一份zoo_sample.cfg,並重命名為zoo.cfg,這個就是其配置文件了。
單機操作模式:
tickTime=2000
dataDir=E:\\services\\zookeeper-3.4.10\\data
dataLogDir=E:\\services\\zookeeper-3.4.10\\logs
clientPort=2181
現在你就完成了配置文件,可以啟動zookeeper了:
bin/zkServer.sh start
Windows下就是:
bin/zkServer.cmd
連接zookeeper:
bin/zkCli.cmd -server 127.0.0.1:2181
使用help命令查看用法。
集群模式:配置方式和上面基本一致,唯一的不同就是配置文件的參數不同,zoo.cfg中多了一些配置項。
tickTime=2000
dataDir=E:\\services\\zookeeper-3.4.10\\data
dataLogDir=E:\\services\\zookeeper-3.4.10\\logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
以下參考自:這里。
- initLimit: zookeeper集群中的包含多台server, 其中一台為leader, 集群中其余的server為follower. initLimit參數配置初始化連接時, follower和leader之間的最長心跳時間. 此時該參數設置為5, 說明時間限制為5倍tickTime, 即5*2000=10000ms=10s.
- syncLimit: 該參數配置leader和follower之間發送消息, 請求和應答的最大時間長度. 此時該參數設置為2, 說明時間限制為2倍tickTime, 即4000ms.
- server.X=A:B:C 其中X是一個數字, 表示這是第幾號server. A是該server所在的IP地址. B配置該server和集群中的leader交換消息所使用的端口. C配置選舉leader時所使用的端口. 由於配置的是偽集群模式, 所以各個server的B, C參數必須不同.
更詳細的配置方式參考官方網站:這里。


