zookeeper入門(2)解讀zookeeper的配置項

鍾超發表於2011-08-01

《zooker入門系列教程》:

1 - 如何在單機上實現ZooKeeper偽機群/偽叢集部署

2 - 解讀zookeeper的配置項

-----

zookeeper的預設配置檔案為zookeeper/conf/zoo_sample.cfg,需要將其修改為zoo.cfg。其中各配置項的含義,解釋如下:


1.tickTime:CS通訊心跳數

Zookeeper 伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會傳送一個心跳。tickTime以毫秒為單位。
tickTime=2000

2.initLimit:LF初始通訊時限
叢集中的follower伺服器(F)與leader伺服器(L)之間初始連線時能容忍的最多心跳數(tickTime的數量)。
initLimit=5

3.syncLimit:LF同步通訊時限
叢集中的follower伺服器與leader伺服器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)。
syncLimit=2

4.dataDir:資料檔案目錄
Zookeeper儲存資料的目錄,預設情況下,Zookeeper將寫資料的日誌檔案也儲存在這個目錄裡。
dataDir=/home/michael/opt/zookeeper/data

5.dataLogDir:日誌檔案目錄
Zookeeper儲存日誌檔案的目錄。
dataLogDir=/home/michael/opt/zookeeper/log

6.clientPort:客戶端連線埠
客戶端連線 Zookeeper 伺服器的埠,Zookeeper 會監聽這個埠,接受客戶端的訪問請求。
clientPort=2333

7.伺服器名稱與地址:叢集資訊(伺服器編號,伺服器地址,LF通訊埠,選舉埠)
這個配置項的書寫格式比較特殊,規則如下:
server.N=YYY:A:B

其中N表示伺服器編號,YYY表示伺服器的IP地址,A為LF通訊埠,表示該伺服器與叢集中的leader交換的資訊的埠。B為選舉埠,表示選舉新leader時伺服器間相互通訊的埠(當leader掛掉時,其餘伺服器會相互通訊,選擇出新的leader)。一般來說,叢集中每個伺服器的A埠都是一樣,每個伺服器的B埠也是一樣。但是當所採用的為偽叢集時,IP地址都一樣,只能時A埠和B埠不一樣。
下面是一個非偽叢集的例子:
server.0=233.34.9.144:2008:6008
server.1=233.34.9.145:2008:6008
server.2=233.34.9.146:2008:6008
server.3=233.34.9.147:2008:6008

下面是一個偽叢集的例子:
server.0=127.0.0.1:2008:6008
server.1=127.0.0.1:2007:6007
server.2=127.0.0.1:2006:6006
server.3=127.0.0.1:2005:6005

相關文章