jenk閑來無事整理了以前寫的在單臺(tái)服務(wù)器上配置3個(gè)zookeeper為一個(gè)集群的腳本。經(jīng)過測(cè)試可以運(yùn)行。哈哈,希望對(duì)你有所幫助!
#!/bin/bash
#單機(jī)集群
#java必須先行安裝
#切換到data目錄進(jìn)行部署,data目錄非指定目錄,可以變更
cd /data
#下載zookeeper并解壓
curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
tar xf zookeeper-3.4.8.tar.gz
for i in 1 2 3
do
#創(chuàng)建目錄
mkdir zk$i
#創(chuàng)建數(shù)據(jù)data和日志logs目錄
mkdir zk$i/data
mkdir zk$i/logs
#創(chuàng)建集群myid文件(指定文件名)
touch zk$i/data/myid
#添加集群id信息
echo "$i" >> zk$i/data/myid
#復(fù)制zookeeper
cp -rf zookeeper-3.4.8 /data/zk$i
cp zk$i/zookeeper-3.4.8/conf/zoo_sample.cfg zk$i/zookeeper-3.4.8/conf/zoo.cfg
#添加server配置信息
echo "server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883" >> zk$i/zookeeper-3.4.8/conf/zoo.cfg
#新增log記錄地址
echo "datalogDir=/data/zk$i/logs" >> zk$i/zookeeper-3.4.8/conf/zoo.cfg
#修改dataDir路徑
sed -i "s/dataDir\=\/tmp\/zookeeper/dataDir\=\/data\/zk$i\/data/g" zk$i/zookeeper-3.4.8/conf/zoo.cfg
done
#修改另外2個(gè)端口,這樣在客戶端連接的時(shí)候就需要寫成這樣“zk1:2181,zk2:2182,zk3:2183”
for i in 2 3
do
sed -i "s/2181/218$i/g" zk$i/zookeeper-3.4.8/conf/zoo.cfg
done
#以下為啟動(dòng)停止集群腳本
#啟動(dòng)所有zkserver
#for i in 1 2 3
#do
# /data/zk$i/zookeeper-3.4.8/bin/zkServer.sh start
#done
#停止所有zkserver
#for i in 1 2 3
#do
# /data/zk$i/zookeeper-3.4.8/bin/zkServer.sh stop
#done
以下為測(cè)試截圖

屏幕快照 2017-07-20 下午1.49.20.png

屏幕快照 2017-07-20 下午2.27.26.png