linux下搭建ZooKeeper叢集(偽叢集)

Rabbit_Judy發表於2019-03-27

搭建Zookeeper叢集

1. 搭建要求

真實的叢集是需要部署在不同的伺服器上的,但是在我們測試時同時啟動十幾個虛擬機器記憶體會吃不消,所以這裡我們搭建偽叢集,也就是把所有的服務都搭建在一臺虛擬機器上,用埠進行區分。

我們這裡要求搭建一個三個節點的 Zookeeper 叢集(偽叢集)。

2. 準備工作

重新部署一臺虛擬機器作為我們搭建叢集的測試伺服器。

(1)安裝 JDK 【此步驟省略】。

(2)Zookeeper 壓縮包上傳到伺服器

(3)將 Zookeeper 解壓 ,建立 data 目錄 ,將 conf 下 zoo_sample.cfg 檔案改名為 zoo.cfg【mv zoo_sample.cfg zoo.cfg】

(4)建立 /usr/local/zookeeper-cluster 目錄,將解壓後的 Zookeeper 複製到以下三個目錄

[root@mini1 ~]# cp -r zookeeper-3.4.5 /usr/local/zookeeper-cluster/zookeeper-1
[root@mini1 ~]# cp -r zookeeper-3.4.5 /usr/local/zookeeper-cluster/zookeeper-2
[root@mini1 ~]# cp -r zookeeper-3.4.5 /usr/local/zookeeper-cluster/zookeeper-3
複製程式碼

(5) 配置每一個 Zookeeper 的 dataDir(zoo.cfg) clientPort 分別為 2181 2182 2183

修改 /usr/local/zookeeper-cluster/zookeeper-1/conf/zoo.cfg

在這裡插入圖片描述

修改 /usr/local/zookeeper-cluster/zookeeper-2/conf/zoo.cfg

clientPort=2182
dataDir=/usr/local/zookeeper-cluster/zookeeper-2/data
複製程式碼

修改 /usr/local/zookeeper-cluster/zookeeper-3/conf/zoo.cfg

clientPort=2183
dataDir=/usr/local/zookeeper-cluster/zookeeper-3/data
複製程式碼

3. 配置叢集

(1)在每個 zookeeper 的 data 目錄下建立一個 myid 檔案,內容分別是 1、2、3 。這個檔案就是記錄每個伺服器的 ID

在這裡插入圖片描述

(2)在每一個zookeeper 的 zoo.cfg配置客戶端訪問埠(clientPort)和叢集伺服器IP列表。

server.1=192.168.75.10:2881:3881
server.2=192.168.75.10:2882:3882
server.3=192.168.75.10:2883:3883
複製程式碼

在這裡插入圖片描述

解釋:server. 伺服器 ID= 伺服器 IP 地址:伺服器之間通訊埠:伺服器之間投票選舉埠

4. 啟動叢集

啟動叢集就是分別啟動每個例項。

cd  /usr/local/zookeeper-cluster/zookeeper-1/bin/
 ./zkServer.sh start

cd  /usr/local/zookeeper-cluster/zookeeper-2/bin/
 ./zkServer.sh start

cd  /usr/local/zookeeper-cluster/zookeeper-3/bin/
 ./zkServer.sh start
複製程式碼

啟動後我們查詢一下每個例項的執行狀態

先查詢第一個服務

在這裡插入圖片描述

Mode 為 follower 表示是跟隨者(從)

再查詢第二個服務 Mode 為 leader 表示是領導者(主)

在這裡插入圖片描述

查詢第三個為跟隨者(從)

在這裡插入圖片描述

相關文章