1. 程式人生 > >Zookeeper-配置安裝

Zookeeper-配置安裝

本文以zookeeper-3.4.13為例介紹叢集安裝

假設有3臺linux伺服器,地址分別為:

192.168.10.25
192.168.10.31
192.168.10.90

每臺機器上都有目錄/home/yimin

下載

下載安裝包:http://archive.apache.org/dist/zookeeper/

安裝

使用tar解壓要安裝的目錄即可,以3.4.13版本為例

這裡以解壓到/home/yimin,實際安裝根據自己的想安裝的目錄修改(注意如果修改,那後邊的命令和配置檔案中的路徑都要相應修改)

解壓後目錄結構為:

配置

在3臺伺服器/home/yimin/zookeeper-3.4.13/conf目錄中都建立zoo.cfg檔案,內容如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/yimin/zookeeper-3.4.13/data
clientPort=2181
server.0=192.168.10.25:2888:3888
server.1=192.168.10.31:2888:3888
server.2=192.168.10.90:2888:3888

引數說明

tickTime :客戶端與伺服器或者伺服器與伺服器之間維持心跳,也就是每個tickTime時間就會發送一次心跳。通過心跳不僅能夠用來監聽機器的工作狀態,還可以通過心跳來控制Flower跟Leader的通訊時間,預設情況下FL的會話時常是心跳間隔的兩倍。

initLimit:叢集中的follower伺服器(F)與leader伺服器(L)之間初始連線時能容忍的最多心跳數(tickTime的數量)。

syncLimit:叢集中flower伺服器(F)跟leader(L)伺服器之間的請求和答應最多能容忍的心跳數。

dataDir:該屬性對應的目錄是用來存放myid資訊跟一些版本,日誌,跟伺服器唯一的ID資訊等。

clientPort:客戶端連線的介面,客戶端連線zookeeper伺服器的埠,zookeeper會監聽這個埠,接收客戶端的請求訪問!這個埠預設是2181。

叢集資訊的配置
在zoo.cfg這個檔案中,配置叢集資訊是存在一定的格式:service.N =YYY: A:B

N:代表伺服器編號(也就是myid裡面的值)

YYY:伺服器地址

A:表示 Flower 跟 Leader的通訊埠,簡稱服務端內部通訊的埠(預設2888)

B:表示 是選舉埠(預設是3888)

myid檔案

在3個zookeeper節點中data目錄下分別建立myid檔案,並分別新增內容0、1、2

啟動

在/home/yimin/zookeeper-3.4.13/bin目錄執行:

 ./zkServer.sh start

狀態查詢

在/home/yimin/zookeeper-3.4.13/bin目錄執行:

./zkServer.sh status

輸出類似資訊:

ZooKeeper JMX enabled by default
Using config: /home/yimin/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower

當前主機是follower狀態
ZooKeeper JMX enabled by default
Using config: /home/yimin/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader

當前主機是leader狀態

停止

./zkServer.sh stop