利用脚本批量操作ZooKeeper集群

3种常用操作:

zkServer.sh start  #启动
zkServer.sh stop   #停止
zkServer.sh status #查看状态

假设有3台机,IP及主机名如下:

192.168.100.105 c1
192.168.100.110 c2
192.168.100.115 c3

假设ZooKeeper安装在/home/目录下,也就是/home/zookeeper

* 先登录root账号再进行以下操作。

1.创建脚本

创建并赋予运行权限

mk batch-zk.sh
chmod u+x batch-zk.sh

2.编辑脚本

vim batch-zk.sh

添加以下内容:

#!/bin/bash
usage="Usage: $0 (start|stop|status)"

if [ $# -lt 1 ]; then
  echo $usage
  exit 1
fi

action=$1
iparray=(c1 c2 c3)  #c1 c2 c3也可以换成ip,即192.168.100.105 192.168.100.110 192.168.100.115
path="/home/zookeeper"

echo "$action ZooKeeper cluster"

for ip in ${iparray[*]}
do
    echo "ssh to $ip"
    ssh $ip $path/bin/zkServer.sh $action $path/conf/zoo.cfg
    sleep 1s
done

exit 0

3.编辑zkServer.sh

* 该步骤在每台机都要执行

vim /home/zookeeper/bin/zkServer.sh

添加一行内容:

export JAVA_HOME=/usr/bin/jdk1.8.0

这里的/usr/bin/jdk1.8.0是Java安装目录,请按实际情况修改。

4.运行脚本

只需要在其中一台机运行即可

批量启动:

./batch-zk.sh start

批量停止:

./batch-zk.sh stop

批量查看状态:

./batch-zk.sh status

参考资料:https://www.cnblogs.com/sorco/p/7141641.html

原文地址:https://www.cnblogs.com/live41/p/15636466.html