单机版-zookeeper集群配置脚本
2017-07-20 本文已影响35人
wo是大富
jenk闲来无事整理了以前写的在单台服务器上配置3个zookeeper为一个集群的脚本。经过测试可以运行。哈哈,希望对你有所帮助!
#!/bin/bash
#单机集群
#java必须先行安装
#切换到data目录进行部署,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
#创建目录
mkdir zk$i
#创建数据data和日志logs目录
mkdir zk$i/data
mkdir zk$i/logs
#创建集群myid文件(指定文件名)
touch zk$i/data/myid
#添加集群id信息
echo "$i" >> zk$i/data/myid
#复制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个端口,这样在客户端连接的时候就需要写成这样“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
#以下为启动停止集群脚本
#启动所有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
以下为测试截图
屏幕快照 2017-07-20 下午1.49.20.png 屏幕快照 2017-07-20 下午2.27.26.png