1)安裝前準備:
(1)安裝jdk
(2)經過filezilla工具拷貝zookeeper到到linux系統下
(3)修改tar包權限
chmod u+x zookeeper-3.4.10.tar.gz
(4)解壓到指定目錄
[atguigu@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
2)配置修改
將/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/data/zkData
在/opt/module/zookeeper-3.4.10/這個目錄上建立data/zkData文件夾
mkdir -p data/zkData
3)操做zookeeper
(1)啓動zookeeper server端
[atguigu@hadoop102 zookeeper-3.4.10]$ bin/zkServer.sh start
(2)查看進程是否啓動
[atguigu@hadoop102 zookeeper-3.4.10]$ jps
4020 Jps
4001 QuorumPeerMain
發現多了一個QuorumPeerMain
(3)查看狀態:
[atguigu@hadoop102 zookeeper-3.4.10]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/…/conf/zoo.cfg
Mode: standalone
(4)啓動客戶端:
[atguigu@hadoop102 zookeeper-3.4.10]$ bin/zkCli.sh
(5)退出客戶端:
[zk: localhost:2181(CONNECTED) 0] quit
(6)中止zookeeper server端
[atguigu@hadoop102 zookeeper-3.4.10]$ bin/zkServer.sh stoplinux
解讀zoo.cfg 文件中參數含義
1)tickTime:通訊心跳數,Zookeeper服務器心跳時間,單位毫秒
Zookeeper使用的基本時間,服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每一個tickTime時間就會發送一個心跳,時間單位爲毫秒。
它用於心跳機制,而且設置最小的session超時時間爲兩倍心跳時間。(session的最小超時時間是2*tickTime)
2)initLimit:LF初始通訊時限
集羣中的follower跟隨者服務器(F)與leader領導者服務器(L)之間初始鏈接時能容忍的最多心跳數(tickTime的數量),用它來限定集羣中的Zookeeper服務器鏈接到Leader的時限。
投票選舉新leader的初始化時間
Follower在啓動過程當中,會從Leader同步全部最新數據,而後肯定本身可以對外服務的起始狀態。
Leader容許F在initLimit時間內完成這個工做。
3)syncLimit:LF同步通訊時限
集羣中Leader與Follower之間的最大響應時間單位,假如響應超過syncLimit * tickTime,
Leader認爲Follwer死掉,從服務器列表中刪除Follwer。
在運行過程當中,Leader負責與ZK集羣中全部機器進行通訊,例如經過一些心跳檢測機制,來檢測機器的存活狀態。
若是L發出心跳包在syncLimit以後,尚未從F那收到響應,那麼就認爲這個F已經不在線了。
4)dataDir:數據文件目錄+數據持久化路徑
保存內存數據庫快照信息的位置,若是沒有其餘說明,更新的事務日誌也保存到數據庫。
5)clientPort:客戶端鏈接端口
監聽客戶端鏈接的端口web