配置啟動
# 解壓
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/datazoo2.cfgdatalogdir=/usr/local/var/run/zookeeper/zk1/logs
clientport=2181
datadir=/usr/local/var/run/zookeeper/zk2/datazoo3.cfgdatalogdir=/usr/local/var/run/zookeeper/zk2/logs
clientport=2182
datadir=/usr/local/var/run/zookeeper/zk3/data分別建立上述配置檔案的目錄,並在/usr/local/var/run/zookeeper/zkx/data/中建立檔案myiddatalogdir=/usr/local/var/run/zookeeper/zk3/logs
clientport=2183
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...