提出问题
在企业中有 多 台部署 zk 的 linux服务器,每次登录各个服务器启动 zk,效率太低,本文通过编写脚本,实现启动多台服务器
创建脚本
创建目录
在 /program/ 目录下创建 bin 文件夹
cd /program
mkdir bin
cd bin
编辑文件
注意: 用 vim 编辑文件。如果在 windows系统上编辑文件,需要修改为 unix 换行符
vim zk.sh
增加下面内容:
#!/bin/bash
if [ $# -lt 1 ]
then
echo Invalid Args!
echo 'Usage: '$(basename $0)' start|stop|status'
exit ;
fi
case $1 in
"start")
for i in hadoop1 hadoop2 hadoop3
do
ssh $i "/program/zookeeper-3.4.14/bin/zkServer.sh start"
done
;;
"stop")
for i in hadoop1 hadoop2 hadoop3
do
ssh $i "/program/zookeeper-3.4.14/bin/zkServer.sh stop"
done
;;
"status")
for i in hadoop1 hadoop2 hadoop3
do
ssh $i "/program/zookeeper-3.4.14/bin/zkServer.sh status"
done
;;
esac
执行 esc -> wq 保存退出
修改权限
如果是 root 用户创建的,需要修改权限,让其有执行权限:
chmod 777 zk.sh
启动
./zk.sh start
停止
./zk.sh stop
查看状态
./zk.sh status