單機zookeeper偽集群

2021-10-24 10:55:33 字數 4292 閱讀 3183

配置啟動

# 解壓

tar -zxfv apache-zookeeper-3.6.1-bin.tar.gz -c /usr/local

# 重新命名

mv /usr/local/apache-zookeeper-3.6.1-bin zookeeper

# 更改許可權

chown -r luis. zookeeper

單機偽集群通過配置3個例項來實現。具體需要配置3個cfg(zoo1.cfg、zoo2.cfg、zoo3.cfg)

在/usr/local/zookeeper/conf下建立3個檔案zoo1.cfg、zoo2.cfg、zoo3.cfg

cp zoo_sample.cfg zoo1.cfg

cp zoo_sample.cfg zoo3.cfg

cp zoo_sample.cfg zoo2.cfg

例如zoo1.cfg

zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 ticktime 時間就會傳送乙個心跳。ticktime以毫秒為單位。

ticktime=2000

initlimit:leader-follow初始通訊時限

集群中的follower伺服器(f)與leader伺服器(l)之間初始連線時能容忍的最多心跳數(ticktime的數量)。啟動有快有慢,超過該值則認為啟動失敗。

initlimit=5

synclimit:lf同步通訊時限

集群中的follower伺服器與leader伺服器之間請求和應答之間能容忍的最多心跳數(ticktime的數量)。

synclimit=2

datadir:資料檔案目錄

zookeeper儲存資料的目錄,預設情況下,zookeeper將寫資料的日誌檔案也儲存在這個目錄裡。

datadir=/home/michael/opt/zookeeper/data

clientport:客戶端連線埠

客戶端連線 zookeeper 伺服器的埠,zookeeper 會監聽這個埠,接受客戶端的訪問請求。

clientport=2181

server.n=yyy:a:b

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

由於是單機上啟動多個zookeeper例項,因此這個的埠需要變更一下。

三個配置檔案中clientport、datadir、datalogdir每個配置檔案不同。其他的都一樣

zoo1.cfg

datadir=/usr/local/var/run/zookeeper/zk1/data

datalogdir=/usr/local/var/run/zookeeper/zk1/logs

clientport=2181

zoo2.cfg

datadir=/usr/local/var/run/zookeeper/zk2/data

datalogdir=/usr/local/var/run/zookeeper/zk2/logs

clientport=2182

zoo3.cfg

datadir=/usr/local/var/run/zookeeper/zk3/data

datalogdir=/usr/local/var/run/zookeeper/zk3/logs

clientport=2183

分別建立上述配置檔案的目錄,並在/usr/local/var/run/zookeeper/zkx/data/中建立檔案myid

cat/usr/local/var/run/zookeeper/zk1/data/myid

1cat/usr/local/var/run/zookeeper/zk2/data/myid

2cat/usr/local/var/run/zookeeper/zk3/data/myid

3

這裡的myid對應上面zoox.cfg中的

server.1=localhost:2887:3887

#!/bin/bash

# 啟動3個zookeeper服務

zkserver.sh start /usr/local/zookeeper/conf/zoo1.cfg

zkserver.sh start /usr/local/zookeeper/conf/zoo2.cfg

zkserver.sh start /usr/local/zookeeper/conf/zoo3.cfg

# 檢視每個zookeeper對應的角色

zkserver.sh status /usr/local/zookeeper/conf/zoo1.cfg

zkserver.sh status /usr/local/zookeeper/conf/zoo2.cfg

zkserver.sh status /usr/local/zookeeper/conf/zoo3.cfg

# 停止zookeeper服務

# zkserver.sh stop /usr/local/etc/zookeeper/zoo1.cfg

Zookeeper單機偽集群

mkdir p server1 server2 server3 mkdir p data datalog logs 建立乙個myid的檔案,裡面寫入乙個數字,比如我這個是server1,那麼就寫乙個1,server2對應myid檔案就寫入2,server3對應myid檔案就寫個3 複製zoo sam...

Zookeeper單機偽集群

mkdir p server1 server2 server3 mkdir p data datalog logs 建立乙個myid的檔案,裡面寫入乙個數字,比如我這個是server1,那麼就寫乙個1,server2對應myid檔案就寫入2,server3對應myid檔案就寫個3 複製zoo sam...

zookeeper 單機搭建偽集群

官網 1 建立目錄 cd usr local mkdir zookeeper cluster cd zookeeper cluster mkdir server1 cd server1 將解壓的zookeeper資料夾複製到當前目錄,並在當前目錄下建立 mkdir data mkdir datalo...