天天看點

Zookeeper分布式安裝部署

叢集思路:先搞定一台伺服器,再克隆出兩台,形成叢集!

1. 安裝zookeeper

具體可以檢視上篇文章介紹

zookeeper本地安裝

2. 配置伺服器編号

在/opt/zookeeper/zkData建立myid檔案

vim myid
           
  • 在檔案中添加與server對應的編号:1
  • 其餘兩台伺服器分别對應2和3

3. 配置zoo.cfg檔案

  • 打開zoo.cfg檔案,增加如下配置
#######################cluster########################## 
server.1=192.168.204.141:2888:3888 
server.2=192.168.204.142:2888:3888 
server.3=192.168.204.143:2888:3888
           

配置參數解讀 server.A=B:C:D

  • A:一個數字,表示第幾号伺服器,叢集模式下配置的/opt/zookeeper/zkData/myid檔案裡面的資料就是A的值
  • B:伺服器的ip位址
  • C:與叢集中Leader伺服器交換資訊的端口
  • D:選舉時專用端口,萬一叢集中的Leader伺服器挂了,需要一個端口來重新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時伺服器互相通信的端口。

4. 配置其餘兩台伺服器

  1. 在虛拟機資料目錄vms下,建立zk02
  2. 将本台伺服器資料目錄下的.vmx檔案和所有的.vmdk檔案分别拷貝zk02下
  3. 虛拟機->檔案->打開 (選擇zk02下的.vmx檔案)
  4. 開啟此虛拟機,彈出對話框,選擇“我已複制該虛拟機” 5. 進入系統後,修改linux中的ip,修改/opt/zookeeper/zkData/myid中的數值為2
  5. 第三台伺服器zk03,重複上面的步驟

5. 叢集操作

  1. 每台伺服器的防火牆必須關閉
systemctl stop firewalld.service
           
  1. 啟動第1台,進入bin目錄下
./zkServer.sh start
           
  1. 檢視狀态
./zkServer.sh status
           

注意:因為沒有超過半數以上的伺服器,是以叢集失敗 (防火牆沒有關閉也會導緻失敗)

ZooKeeper JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Error contacting service. It is probably not running.
           
  1. 當啟動第2台伺服器時

    檢視第1台的狀态:Mode: follower

    檢視第2台的狀态:Mode: leader

  2. 啟動用戶端
./zkCli.sh
           

繼續閱讀