1)在 wlw102 的/home/tom/bin 目录下创建脚本
[root@wlw102 ~]# cd /home/tom/bin
[root@wlw102 bin]# vim zk.sh
在脚本中编写如下内容(这是一个shell脚本)
#!/bin/bash
case $1 in
"start"){
for i in wlw102 wlw103 wlw104
do
echo ---------- zookeeper $i 启动 ------------
sshpass -p root ssh -o StrictHostKeyChecking=no $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
};;
"stop"){
for i in wlw102 wlw103 wlw104
do
echo ---------- zookeeper $i 停止 ------------
sshpass -p root ssh -o StrictHostKeyChecking=no $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
};;
"status"){
for i in wlw102 wlw103 wlw104
do
echo ---------- zookeeper $i 状态 ------------
sshpass -p root ssh -o StrictHostKeyChecking=no $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
};;
esac
注意:如果没有安装sshpass,可以先执行命令: yum install sshpass 来安装。
2)编辑好后然后用下面命令是脚本文件变成可执行的
[root@wlw102 bin]# chmod 777 zk.sh
3)增加脚本执行权限
[root@wlw102 bin]$ chmod u+x zk.sh
4)Zookeeper 集群启动脚本,shell脚本启动的方式:
-
使用相对路径或者绝对路径,需要先授予权限:
-
# 在脚本所在的目录下使用相对路径 [root@wlw102 ~]# cd /home/tom/bin [root@wlw102 bin]# ./zk.sh stop
-
# 在任意一个目录下使用绝对路径 [root@wlw102 module]$ /home/tom/bin/zk.sh start
-
-
sh+脚本,这个方式可以不授予权限:
-
# 在脚本所在的目录下使用相对路径 [root@wlw102 ~]# cd /home/tom/bin [root@wlw102 bin]# sh zk.sh start
-
# 在任意一个目录下使用绝对路径 [root@wlw102 ~]# sh /home/tom/bin/zk.sh start
-
5)Zookeeper 集群停止脚本
# 在脚本所在的目录下使用相对路径
[root@wlw102 ~]# cd /home/tom/bin
[root@wlw102 bin]# sh zk.sh stop
# 在任意一个目录下使用绝对路径
[root@wlw102 ~]# sh /home/tom/bin/zk.sh stop