单机版-zookeeper集群配置脚本

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

以下为测试截图

单机版-zookeeper集群配置脚本_第1张图片
屏幕快照 2017-07-20 下午1.49.20.png
单机版-zookeeper集群配置脚本_第2张图片
屏幕快照 2017-07-20 下午2.27.26.png

你可能感兴趣的:(单机版-zookeeper集群配置脚本)