ZooKeeper集羣搭建(一):準備工作以及搭建集羣的具體操作

爲什麼要做ZooKeeper集羣?

  1. ZooKeeper在Dubbo框架中起着發現服務,服務註銷/註冊(動態伸縮)的功能,假如僅有的一臺Zookeeper宕機了,將會造成整個應用的服務調用失敗,服務停擺期間所造成的損失不可想象

  2. 同時Zookeeper也是很多中間件,比如消息中間件ActiveMQ集羣所需要依賴的

    關鍵是ActiveMQ集羣的主從選舉是基於Zookeeper實現的,如果關鍵時刻唯一的Zookeeper宕機了,那麼ActiveMQ的主從切換也將無法實現

準備工作

假如你還沒有安裝ZooKeeper,可以參考下面的文章,只需要看前面20行左右即可

ZooKeeper: 在CentOS7中配置Zookeeper並搭建測試環境:https://blog.csdn.net/fenghuoliuxing990124/article/details/84979590

爲了排除干擾,進入安裝好的zookeeper的bin目錄下執行:

./zkServer.sh stop

具體操作

  1. 進入/usr/local 建立zookeeper-cluster文件夾

    cd /usr/local
    mkdir zookeeper-cluster

  2. 複製安裝好的zookeeper到zookeeper-cluster下

    cp -r zookeeper ./zookeeper-cluster/

    mv ./zookeeper-cluster/zookeeper ./zookeeper-cluster/zk1

  3. 進入zk1的conf,修改zoo.cfg文件
    在這裏插入圖片描述

  4. 爲zoo.cfg添加以下配置

一般來說應該是這樣的:

server.1=192.168.230.121:2888:3888
server.2=192.168.230.122:2888:3888
server.3=192.168.230.123:2888:3888

這裏server後接的數字代表ID號

IP地址後面的2888端口表示的是:集羣中leader與follower通信的接口

3888端口表示的是:投票選舉時用的接口

但是我們都是配置在同一臺主機上的,所以,上面的地址變爲:

server.1=192.168.230.140:2888:3888
server.2=192.168.230.140:2887:3887
server.3=192.168.230.140:2886:3886

最終配置爲:

在這裏插入圖片描述

也許你已經看見了紅線表示的部分,因爲我已經啓動過集羣一次了

實際上zookeeper會將你之前填寫的內容動態鏈接到一個文件中:

該文件的內容如下:

在這裏插入圖片描述

接下來你注意到了下面的部分,是的,由於我們目前所有的zookeeper都在同一臺服務器上,所以下面的客戶端接口,admin.server接口都得改動

在這裏插入圖片描述

5.創建data與log文件

在上面你看到了data與log文件的文件路徑配置,注意這個是一定要配置的,並且一定要是各自獨立的,這個配置以後才能保證,集羣中的Master宕機後,新Master的數據不受影響

cd /usr/local/zookeeper-cluster/zk1
mkdir data
mkdir log

6.進入data目錄,新建myid文件

echo 1 >> myid

這個"1"對應的是zoo.cfg中server.1,後面的zk2,zk3節點同理

接下來就是製作zk2,zk3節點

cd /usr/local/zookeeper-cluster

cp -r zk1 zk2

將下面的clientPort = 2181 --> 2182

admin.serverPort=9999 --> 9998

修改data,log對應的文件夾,最後在data中添加對應的zk2節點

在這裏插入圖片描述

zk3節點同理,不再贅述

防火牆配置

由於要開放端口較多,直接關閉即可

如需開放端口,可參考:

CentOS7:配置防火牆:https://blog.csdn.net/fenghuoliuxing990124/article/details/84931331

如果以上都沒有問題,下一步即是集羣測試了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章