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