Zookeeper安裝和引數解讀
安裝
將/opt/module/zookeeper-3.4.10/conf這個路徑下的zoo_sample.cfg修改為zoo.cfg;
進入zoo.cfg檔案:vim zoo.cfg
修改dataDir路徑為
dataDir=/opt/module/zookeeper-3.4.10/zkData
在/opt/module/zookeeper-3.4.10/這個目錄上建立zkData資料夾
mkdir zkData
linux下的tar包地址
操作zookeeper
開啟zookeeper
zkServer.sh start
jps查看出現QuorumPeerMain程序
檢視狀態
[[email protected] conf]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone(單使用者模式)
啟動客戶端
[[email protected] conf]# zkCli.sh
退出客戶端
[zk: localhost:2181(CONNECTED) 0] quit
停止zookeeper
[[email protected] conf]# zkServer.sh stop
配置引數解讀
解讀zoo.cfg檔案的引數
tickTime=2000:通訊心跳數
tickTime:通訊心跳數,Zookeeper伺服器心跳時間,單位毫秒
Zookeeper使用的基本時間,伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個tickTime時間就會發送一個心跳,時間單位為毫秒。
它用於心跳機制,並且設定最小的session超時時間為兩倍心跳時間。(session的最小超時時間是2*tickTime)
initLimit=10:LF初始通訊時限
initLimit:LF初始通訊時限
叢集中的follower跟隨者伺服器(F)與leader領導者伺服器(L)之間初始連線時能容忍的最多心跳數(tickTime的數量),用它來限定叢集中的Zookeeper伺服器連線到Leader的時限。
投票選舉新leader的初始化時間
Follower在啟動過程中,會從Leader同步所有最新資料,然後確定自己能夠對外服務的起始狀態。
Leader允許F在initLimit時間內完成這個工作。
syncLimit=5:LF同步通訊時限
叢集中Leader與Follower之間的最大響應時間單位,假如響應超過syncLimit * tickTime,
Leader認為Follwer死掉,從伺服器列表中刪除Follwer。
在執行過程中,Leader負責與ZK叢集中所有機器進行通訊,例如通過一些心跳檢測機制,來檢測機器的存活狀態。
如果L發出心跳包在syncLimit之後,還沒有從F那收到響應,那麼就認為這個F已經不線上了。
dataDir:資料檔案目錄+資料持久化路徑
儲存記憶體資料庫快照資訊的位置,如果沒有其他說明,更新的事務日誌也儲存到資料庫。
clientPort=2181:客戶端連線埠
監聽客戶端連線的埠