Azkaban启动停止脚本

我们在上一篇文章中已经安装部署了Azkaban,但是启动的时候要去每个机器上执行一下命令。来回切换机器太麻烦,今天我们输出一个脚本,搞定自动启动停止。

1 登录到hadoop01上,在~/bin 目录下创建一个azkaban.sh脚本

[hadoop@hadoop01 ~] cd bin
[hadoop@hadoop01 ~] vi azkaban.sh

2 编写脚本文件,保持退出

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi

if ((pcount==1)); then
echo no second param;
exit;
fi

#2 获取启动类型 exec 还是 web
p1=$1
p2=$2

if [[ $p1 == "exec" ]]; then
       if [[ $p2 == "start" ]]; then
               for (( i = 1; i <= 3; i++ )); do
               echo ====================hadoop$i azkaban exec $p2 ==============================
               ssh hadoop$i "source /etc/profile;cd /bigdata/install/azkaban-exec-server-4.0.0; bin/start-exec.sh"
               done
       elif [[ $p2 == "active" ]]; then
               for (( i =1; i <= 3; i++ )); do
               echo ====================hadoop$i azkaban exec $p2 ===============================
               ssh hadoop$i 'source /etc/profile;curl http://hadoop'${i}':$('cat /bigdata/install/azkaban-exec-server-4.0.0/executor.port')/executor?action=activate'
               done
       elif [[ $p2 == "stop" ]]; then
               for (( i = 1; i <= 3; i++ )); do
               echo ====================hadoop$i azkaban exec $p2 ==============================
               ssh hadoop$i "cd /bigdata/install/azkaban-exec-server-4.0.0/;bin/shutdown-exec.sh"
           done
       fi
elif [[ $p1 == "web" ]]; then
       if [[ $p2 == "start" ]]; then
               echo ====================azkaban web $p2 ==============================
               ssh hadoop3 "source /etc/profile;cd /bigdata/install/azkaban-web-server-4.0.0/; bin/start-web.sh"
       elif [[ $p2 == "stop" ]]; then
               echo ====================azkaban web $p2 ==============================
               ssh hadoop3 "source /etc/profile;cd /bigdata/install/azkaban-web-server-4.0.0/; bin/shutdown-web.sh"
       fi
fi

3 修改脚本权限

[hadoop@hadoop01 bin] sudo chmod 777 azkaban.sh

4 启动/停止脚本

  • 启动服务
[hadoop@hadoop01 bin] azkaban.sh exec start
[hadoop@hadoop01 bin] azkaban.sh exec active
[hadoop@hadoop01 bin] azkaban.sh web start
[hadoop@hadoop01 bin] xcall jps

  • 停止服务
[hadoop@hadoop01 bin] azkaban.sh exec stop
[hadoop@hadoop01 bin] azkaban.sh web stop
[hadoop@hadoop01 bin] xcall jps

posted @ 2021-06-16 23:11  Tenic  阅读(902)  评论(0编辑  收藏  举报