linux 集群的管理脚本--一个命令启动(停止)整个集群的服务(shell)

本脚本命令主要是方便集群的管理,参考网上看过的视频,整理的,希望简化集群的管理;

本脚本包含的是:zookeeper、kafka、hadoop、druid集群的管理脚本,再加一个集群jps脚本;

注意:

(1)我的集群的三台服务器的主机名,都相应了改为了:master,query和data;

具体的修改文件是 vim  /etc/hosts;

  (2)保证当前用户对所写的脚本有执行权限;

  (3)执行脚本的命令前必须加上 source /etc/profile; ,保证引入java等一些环境变量;

1.zookeeper集群的启动(停止)脚本


#!/bin/bash

case $1 in
"start"){

        for i in master query data
        do
           echo "********************$i**************************" 
           ssh $i 'source /etc/profile; sh /home/apps/zookeeper/bin/zkServer.sh start'
        done

};;

"stop"){

        for i in master query data
        do
           echo "********************$i**************************" 
           ssh $i 'source /etc/profile; sh /home/apps/zookeeper/bin/zkServer.sh stop'
        done

};;

esac
~    

 脚本的名称是:1_zookeeper_start_stop.sh

启动时:sh  1_zookeeper_start_stop.sh  start

停止时:sh  1_zookeeper_start_stop.sh  start

2.kafka集群的启动(停止)脚本

#!/bin/bash

case $1 in
"start"){

        for i in master query data
        do
           echo "********************$i**************************" 
           ssh $i 'source /etc/profile;/home/apps/kafka/bin/kafka-server-start.sh -daemon /home/apps/kafka/config/server.properties >>/home/apps/kafka/kafka.log 2>&1'
        done

};;


"stop"){

        for i in master query data
        do
           echo "********************$i**************************" 
           ssh $i '/home/apps/kafka/bin/kafka-server-stop.sh  /home/apps/kafka/config/server.propertiesi >>/home/apps/kafka/kafka.log 2>&1'
        done

};;

esac

 脚本的名称是:2_kafka_start_stop.sh

 启动时:sh  2_kafka_start_stop.sh  start

 停止时:sh  2_kafka_start_stop.sh  start

3.hadoop集群的启动(停止)脚本

#!/bin/bash


case $1 in
"start"){

        for i in master
        do
           echo "********************$i**************************" 
           ssh $i 'source /etc/profile; sh /home/apps/hadoop/sbin/start-all.sh'
        done

};;


"stop"){

        for i in master
        do
           echo "********************$i**************************" 
           ssh $i 'source /etc/profile; sh /home/apps/hadoop/sbin/stop-all.sh'
        done

};;

esac

 脚本的名称是:3_hadoop_start_stop.sh

 启动时:sh  3_hadoop_start_stop.sh start

 停止时:sh  3_hadoop_start_stop.sh  start

hadoop集群的启动只需要在master执行就可以;

4.apache druid集群的启动(停止)脚本

#!/bin/bash

case $1 in
"start"){

         echo "********************start master*************************" 
         ssh master 'source /etc/profile;/home/apps/druid/bin/start-cluster-master-no-zk-server -daemon  >>/home/apps/druid/master.log 2>&1'

         echo "********************start query*************************" 
         ssh query 'source /etc/profile;/home/apps/druid/bin/start-cluster-query-server  -daemon  >>/home/apps/druid/query.log 2>&1'

         echo "********************start data*************************" 
         ssh data 'source /etc/profile;/home/apps/druid/bin/start-cluster-data-server  -daemon  >>/home/apps/druid/data.log 2>&1'

};;


"stop"){

         echo "********************master stop*************************" 
         ssh master 'source /etc/profile;/home/apps/druid/bin/service --down'

         echo "********************query stop*************************" 
         ssh query 'source /etc/profile;/home/apps/druid/bin/service --down'

         echo "********************data stop*************************" 
         ssh data 'source /etc/profile;/home/apps/druid/bin/service --down'
};;

esac

 脚本的名称是:4_druird_start_stop.sh

 启动时:sh  4_druird_start_stop.sh  start

 停止时:sh  4_druird_start_stop.sh  start

5.看集群的进程jps

#!/bin/bash
for i in root@master root@query root@data
do
   echo "********************$i**************************" 
   ssh $i '/home/jdk1.8/bin/jps'
done

其中,“4.apache druid集群的启动(停止)脚本” ,启动时必须在执行到每个节点是ctrl+C,手工退出一下;这个,那位大大告诉我怎么改进下。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值