1. 程式人生 > 其它 >zookeeper - 安裝

zookeeper - 安裝

安裝檔案: apache-zookeeper-3.6.3-bin.tar.gz
官網下載: https://zookeeper.apache.org/releases.html#download

準備JAVA - JDK 環境 - 省略

安裝zookeeper :
1.建立資料夾 並把檔案上傳至該目錄下
mkdir /app

2.解壓資料夾,並重命名
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
mv apache-zookeeper-3.6.3-bin zookeeper

3.cd到zookeeper/conf下 將zoo_sample.cfg複製一份並改名為zoo.cfg
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg

zookeeper伺服器啟動預設載入zoo.cfg檔案,當然也可以命名為其他檔案,但是在執行是需要指定cfg檔名。
如命名為zk1.cfg時,啟動zookeeper命令為:./zkServer.sh start zk1.cfg。
如果是zoo.cfg啟動時命令為:./zkServer.sh start

4.建立data,log資料夾在zookeeper存放資料 對應配置到zoo.cfg
mkdir /app/zookeeper/data
mkdir /app/zookeeper/log

引數說明:
tickTime: zookeeper中使用的基本時間單位,毫秒值
initLimit:Follower在啟動過程中,會從Leader同步所有最新資料,然後確定自己能夠對外服務的起始狀態。Leader允許Follower在initLimit時間內完成這個工作
syncLimit:在執行過程中,Leader負責與ZK叢集中所有機器進行通訊,如果L發出心跳包在syncLimit之後,還沒有從F那裡收到響應,那麼就認為這個F已經不線上了。
dataDir:資料目錄.可以是任意目錄.本文制定/usr/lib/zookeeper/data
dataLogDir:log目錄,同樣可以是任意目錄.如果沒有設定該引數,將使用和dataDir相同的設定.
clientPot:監聽client連線的埠號

在某些部落格中還會涉及設定環境變數這一步。其實並不需要進行環境的設定就可以部署成功。
單機部署(獨立模式)就到此完成了,叢集部署就是啟動多個服務,對於配置server.節點=節點IP

配置zookeeper叢集(一臺機器3個zk 服務 偽叢集) 單機部署請忽略
以上述安裝的zookeeper為標準,配置zk節點間的通訊
節點間通訊:server.n = ip:port1:port2
n:代表zk的節點資訊
ip:zk的伺服器地址
port1:用於zk間的通訊(資料同步)
port2:用於zk間的投票選舉
編輯zoo.cfg檔案,配置通訊
server.1=172.22.0.7:6675:6676
server.2=172.22.0.8:6677:6678
server.3=172.22.0.9:6679:6680
阿里雲部署,還要在zoo.cfg中新增一個屬性quorumListenOnAllIPs=true

指定zk屬於哪個節點在data/目錄下建立myid檔案:指定zk屬於哪個節點。
touch myid
節點1: echo 1 > myid 節點2: echo 2 > myid 節點3 : echo 3 > myid

6.啟動服務:
首先的bin資料夾下,再啟動zkServer.sh
cd /app/zookeeper/bin
./zkServer.sh start 或 /app/zookeeper/bin/zkServer.sh start
檢視日誌啟動: ./zkServer.sh start-foreground

7.檢視狀態
./zkServer.sh status

8.關閉服務
./zkServer.sh stop

9.連線客戶端測試
連線客戶端,由於叢集之後連線客戶端的命令不再是 ./zkCli.sh 了
./zkCli.sh -serverlocalhost:2181

叢集測試:
在其中一臺機器 建立一個節點 , 在其他機器上檢視資料是否已經同步,如果節點和資料能夠正常同步,那麼 zookeeper 叢集搭建就完成了