zookeeper配置引數解讀
解讀zoo.cfg 檔案中引數含義
1)tickTime:通訊心跳數,Zookeeper伺服器心跳時間,單位毫秒
用於配置 ZooKeeper 中最小時間單位的長度,很多執行時的時間間隔都是使用 tickTime 的倍數來表示的。例如,ZooKeeper 中會話的最小超時時間預設是 2*tickTime。
2)initLimit:用於叢集中Leader(主節點)和Flower(從節點)初始化時通訊時限
叢集中的follower跟隨者伺服器(F)與leader領導者伺服器(L)之間初始連線時能容忍的最多心跳數(tickTime的數量)initLimit* tickTime,用它來限定叢集中的Zookeeper
投票選舉新leader的初始化時間
Follower在啟動過程中,會從Leader同步所有最新資料,然後確定自己能夠對外服務的起始狀態。
Leader允許Follower在initLimit時間內完成這個工作。
如果ZK叢集的資料量確實很大了,F在啟動的時候,從Leader上同步資料的時間也會相應變長,因此在這種情況下,有必要適當調大這個引數了。
3)syncLimit:用於叢集中Leader(主節點)和Flower(從節點)之間傳送訊息,請求和應答通訊時限。
叢集中Leader與Follower之間的最大響應時間單位,假如響應超過syncLimit * tickTime
Leader認為Follwer死掉,從伺服器列表中刪除Follwer。
在執行過程中,Leader負責與ZK叢集中所有機器進行通訊,例如通過一些心跳檢測機制,來檢測機器的存活狀態。
如果L發出心跳包在syncLimit之後,還沒有從F那收到響應,那麼就認為這個F已經不線上了。
注意:不要把這個引數設定得過大,否則可能會掩蓋一些問題。(No Java system property)
4)dataDir:必須配置!資料檔案目錄+資料持久化路徑
儲存記憶體資料庫快照資訊的位置,如果沒有配置dataLogDir引數,那麼每次更新的日誌,也會儲存到此目錄!
5)clientPort
監聽客戶端連線的埠