zookeeper的默認配置文件爲zookeeper/conf/zoo_sample.cfg,須要將其修改成zoo.cfg。其中各配置項的含義,解釋以下:html
1.tickTime:Client-Server通訊心跳時間
Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每一個 tickTime 時間就會發送一個心跳。tickTime以毫秒爲單位。
tickTime=2000服務器
2.initLimit:Leader-Follower初始通訊時限
集羣中的follower服務器(F)與leader服務器(L)之間初始鏈接時能容忍的最多心跳數(tickTime的數量)。
initLimit=5post
3.syncLimit:Leader-Follower同步通訊時限
集羣中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)。
syncLimit=2
4.dataDir:數據文件目錄
Zookeeper保存數據的目錄,默認狀況下,Zookeeper將寫數據的日誌文件也保存在這個目錄裏。
dataDir=/home/michael/opt/zookeeper/data測試
5.clientPort:客戶端鏈接端口
客戶端鏈接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
clientPort=2181url
6.服務器名稱與地址:集羣信息(服務器編號,服務器地址,LF通訊端口,選舉端口)
這個配置項的書寫格式比較特殊,規則以下:
server.N=YYY:A:B.net
7.maxClientCnxns:對於一個客戶端的鏈接數限制,默認是60,這在大部分時候是足夠了。可是在咱們實際使用中發現,在測試環境常常超過這個數,通過調查發現有的團隊將幾十個應用所有部署到一臺機器上,以方便測試,因而這個數字就超過了。日誌
8.autopurge.snapRetainCount、autopurge.purgeInterval -- 客戶端在與zookeeper交互過程當中會產生很是多的日誌,並且zookeeper也會將內存中的數據做爲snapshot保存下來,這些數據是不會被自動刪除的,這樣磁盤中這樣的數據就會愈來愈多。不過能夠經過這兩個參數來設置,讓zookeeper自動刪除數據。autopurge.purgeInterval就是設置多少小時清理一次。而autopurge.snapRetainCount是設置保留多少個snapshot,以前的則刪除。server
server.1=itcast05:2888:3888
server.2=itcast06:2888:3888
server.3=itcast07:2888:3888htm
myid的值是zoo.cfg文件裏定義的server.A項A的值,Zookeeper 啓動時會讀取這個文件,拿到裏面的數據與 zoo.cfg 裏面的配置信息比較從而判斷究竟是那個server,只是一個標識做用。blog