zookeeper集群启停脚本

发布时间 2023-06-26 17:57:35作者: MoreTryHarder

方式一

#!/bin/bash
#zookeeper集群启停脚本
ip="master slave1 slave2 slave3 slave4"  #IP地址或域名都可以
zk-home="/home/zookeeper/zookeeper-3.4.14"
case $1 in
"start"){
    for i in $ip
    do
        ssh $i "${zk-home}/bin/zkServer.sh start"
    done
};;
"stop"){
    for i in $ip
    do
        ssh $i "${zk-home}/bin/zkServer.sh stop"
    done
};;
"restart"){
    for i in $ip
    do
        ssh $i "${zk-home}/bin/zkServer.sh restart"
    done
}
esac

方式二

#!/bin/bash
#zookeeper集群启停脚本
case $1 in
"start"){
    for i in master slave1 slave2 slave3 slave4
    do
        echo ------------------------- zookeeper $i 已启动 ---------------------------
        ssh $i "/home/zookeeper/zookeeper-3.4.14/bin/zkServer.sh start"
    done
}
;;
"stop"){
    for i in master slave1 slave2 slave3 slave4
    do
        echo ------------------------- zookeeper $i 已停止 ---------------------------
        ssh $i "/home/zookeeper/zookeeper-3.4.14/bin/zkServer.sh stop"
    done
}
;;
"status"){
    for i in master slave1 slave2 slave3 slave4
    do
        echo ------------------------- zookeeper $i 状态 ---------------------------
        ssh $i "/home/zookeeper/zookeeper-3.4.14/bin/zkServer.sh status"
    done
}
;;
esac

如果当我们运行以上任一脚本后,看到启动成功了,用jps命令查看时,没有相对应的zk进程QuorumPeerMain,可能由于环境变量导致的。

此时我们需要把profile中的配置信息 echo 到 .bashrc 中 cat  /etc/profile  >>  ~/.bashrc

另外再把 export JAVA_HOME=/home/jdk/jdk1.8.0_221/  加入  /zookeeper/bin/zkEnv.sh 的文件中即可解决!