ZooKeeper的安裝與部署

2021-09-30 16:56:57 字數 4094 閱讀 7696

1.2 安裝

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

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

tar -zxf zookeeper-3.4.13.tar.gz -c /opt/data/software
1.3 配置

在主目錄下建立data和logs兩個目錄用於儲存資料和日誌:

cd /opt/data/zookeeper-3.4.13

mkdir data

mkdir logs

在conf目錄下新建zoo.cfg檔案,寫入以下內容儲存:

ticktime=2000

datadir=/opt/data/zookeeper-3.4.13/data

datalogdir=/opt/data/zookeeper-3.4.13/logs

clientport=2181

1.4 啟動和停止

進入bin目錄,啟動、停止、重啟分和檢視當前節點狀態(包括集群中是何角色)別執行:

./zkserver.sh start

./zkserver.sh stop

./zkserver.sh restart

./zkserver.sh status

偽集群模式就是在同一主機啟動多個zookeeper並組成集群,下邊以在192.168.220.128主機上創3個zookeeper組集群為例。

將通過第一大點安裝的zookeeper,複製成zookeeper1/zookeeper2/zookeeper3三份

**myid檔案,其內容分別為1,2,3。然後分別在這三颱機器上啟動zk程序,這樣我們便將zk集群啟動了起來。**
2.1 zookeeper1配置

zookeeper1配置檔案conf/zoo.cfg修改如下:

複製**

ticktime=2000

datadir=/opt/data/zookeeper1/data

datalogdir=/opt/data/zookeeper1/logs

clientport=2181

initlimit=5

synclimit=2

server.1=192.168.220.128:2888:3888

server.2=192.168.220.128:4888:5888

server.3=192.168.220.128:6888:7888

複製**

zookeeper1的data/myid配置如下:

echo '1' > data/myid
2.2 zookeeper2配置

zookeeper2配置檔案conf/zoo.cfg修改如下:

複製**

ticktime=2000

datadir=/opt/data/zookeeper2/data

datalogdir=/opt/data/zookeeper2/logs

clientport=3181

initlimit=5

synclimit=2

server.1=192.168.220.128:2888:3888

server.2=192.168.220.128:4888:5888

server.3=192.168.220.128:6888:7888

複製**

zookeeper2的data/myid配置如下:

echo '2' > data/myid
2.3 zookeeper3配置

zookeeper3配置檔案conf/zoo.cfg修改如下:

複製**

ticktime=2000

datadir=/opt/data/zookeeper3/data

datalogdir=/opt/data/zookeeper3/logs

clientport=4181

initlimit=5

synclimit=2

server.1=192.168.220.128:2888:3888

server.2=192.168.220.128:4888:5888

server.3=192.168.220.128:6888:7888

複製**

zookeeper3的data/myid配置如下:

echo '3' > data/myid
最後使用1.4的命令把三個zookeeper都啟動即可,啟動順序隨意沒要求。

集群模式就是在不同主機上安裝zookeeper然後組成集群的模式;下邊以在192.168.220.128/129/130三颱主機為例。

將第1.1到1.3步中安裝好的zookeeper打包複製到129和130上,並都解壓到同樣的目錄下。

3.1 conf/zoo.cfg檔案修改

三個zookeeper的conf/zoo.cfg修改如下:

複製**

ticktime=2000

datadir=/opt/data/zookeeper-3.4.13/data

datalogdir=/opt/data/zookeeper-3.4.13/logs

clientport=2181

initlimit=5

synclimit=2

server.1=192.168.220.128:2888:3888

server.2=192.168.220.129:2888:3888

server.3=192.168.220.130:2888:3888

複製**

對於129和130,由於安裝目錄都是zookeeper-3.4.13所以datadir和datalogdir不需要改變,又由於在不同機器上所以clientport也不需要改變

所以此時129和130的conf/zoo.cfg的內容與128一樣即可。

3.2 data/myid檔案修改

128 data/myid修改如下:

echo '1' > data/myid
129 data/myid修改如下:

echo '2' > data/myid
130 data/myid修改如下:

echo '3' > data/myid
最後使用1.4的命令把三個zookeeper都啟動即可,啟動順序隨意沒要求。

initlimit:這個配置項是用來配置 zookeeper 接受客戶端(這裡所說的客戶端不是使用者連線 zookeeper 伺服器的客戶端,而是 zookeeper 伺服器集群中連線到 leader 的 follower 伺服器)初始化連線時最長能忍受多少個心跳時間間隔數。當已經超過 10 個心跳的時間(也就是 ticktime)長度後 zookeeper 伺服器還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是 5*2000=10 秒

synclimit:這個配置項標識 leader 與 follower 之間傳送訊息,請求和應答時間長度,最長不能超過多少個 ticktime 的時間長度,總的時間長度就是 2*2000=4 秒

server.a=b:c:d:其中 a 是乙個數字,表示這個是第幾號伺服器;b 是這個伺服器的 ip 位址;c 表示的是這個伺服器與集群中的 leader 伺服器交換資訊的埠;d 表示的是萬一集群中的 leader 伺服器掛了,需要乙個埠來重新進行選舉,選出乙個新的 leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。如果是偽集群的配置方式,由於 b 都是一樣,所以不同的 zookeeper 例項通訊埠號不能一樣,所以要給它們分配不同的埠號。

data/myid:myid的值是zoo.cfg檔案裡定義的server.a項a的值,zookeeper 啟動時會讀取這個檔案,拿到裡面的資料與 zoo.cfg 裡面的配置資訊比較從而判斷到底是那個server,只是乙個標識作用。

zookeeper 安裝部署

2.解壓 tar zxvf zookeeper 3.5.1.tar.gz 3.將zookeeper 3.5.1 conf 目錄下的zoo sample.cfg修改為zoo.cfg,配置如下 ticktime 2000 datadir home zookeeper data clientport 21...

Zookeeper安裝部署

zookeeper zookeeper是乙個分布式協調服務的開源框架。主要用來解決分布式集群中應用系統的一致性問題。zookeeper本質上是乙個分布式的小檔案儲存系統。提供基於類似於檔案系統的目錄樹方式的資料儲存,並且可以對樹中的節點進行有效管理。從而用來維護和監控你儲存的資料的狀態變化。通過監控...

zookeeper安裝部署

計畫zookeeper的安裝目錄為 home dmp zookeeper 2.上傳安裝包到臨時目錄 home python root data2 python ls lrt rw r r 1 root root 12392394 8月 19 22 43 apache zookeeper 3.6.0 ...