前言
现在有三台服务器在运行,假如需要关闭所有服务器的话,要一台一台的去关,如果有上千台服务器呢?这样效率就会很低下,现在写一个脚本来开启或者关闭所有服务器。
一、所有zookeeper同时启动的shell脚本
把下面脚本放在/root/bin目录下:
#!/bin/bash
case $1 in
"start"){
for i in zookeeper101 zookeeper102 zookeeper103
do
echo ----------zookeeper $i 启动----------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
}
;;
"stop"){
for i in zookeeper101 zookeeper102 zookeeper103
do
echo ----------zookeeper $i 停止----------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
}
;;
"status"){
for i in zookeeper101 zookeeper102 zookeeper103
do
echo ----------zookeeper $i 状态----------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
}
;;
esac
再赋予这个脚本权限:
二、使用脚本启动/停止集群
1.启动
2.查看集群状态
3.停止
三、遇到的问题
一开始每次使用脚本启动、停止或查看集群状态都得输入密码。
解决:设置三台机器之间的免密登录。
解决过程:
1、在zookeeper101服务器设置秘钥:
第二个箭头是重复设置才会出现,其他三个箭头无脑回车就行。
2、把秘钥复制到三台服务器上:
第二个箭头输入linux的登录密码,这样就可以不用每次启动集群都输入每台机器的密码了。