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