monitor service

#!/bin/sh
#this is a shell script to monitor hbase process 

#define hbase,zookeeper,hadoop home dir
HBASE_DIR=/usr/local/hbase-0.98/bin
HADOOP_DIR=/usr/local/hadoop-2.6.0/sbin
ZOOKEEPER_DIR=/usr/local/zookeeper-3.4.6/bin

while true
do
    sleep 15

    #copy the dev out put to  file 'nohup.out'
    /bin/cp /dev/null /nohup.out

    #do cmd ps ,to find process named 'HMaster', and filter text'grep', and only get the process id
    runID=`/bin/ps aux | grep HMaster | grep -v 'grep' | awk '{print $2}'`
    if [ -z "$runID" ]
    then
       #if can not find the process, so run it , 
       #nohup is meaning get the cmd output to file,
       #> / dev/null 2>&1 & is meaning get the device error 2 trans to error 1, ignore error 1, and run in back ground 
       /usr/bin/nohup ${HBASE_DIR}/hbase-daemon.sh start master >/dev/null 2>&1 &
    fi

    runID=`/bin/ps aux | grep ResourceManager | grep -v 'grep' | awk '{print $2}'`
    if [ -z "$runID" ]
    then
       /usr/bin/nohup ${HADOOP_DIR}/yarn-daemon.sh start resourcemanager >/dev/null 2>&1 &
    fi

    runID=`/bin/ps aux | grep JournalNode | grep -v 'grep' | awk '{print $2}'`
    if [ -z "$runID" ]
    then
       /usr/bin/nohup ${HADOOP_DIR}/hadoop-daemon.sh start journalnode >/dev/null 2>&1 &
    fi

    runID=`/bin/ps aux | grep QuorumPeerMain | grep -v 'grep' | awk '{print $2}'`
    if [ -z "$runID" ]
    then
       /usr/bin/nohup ${ZOOKEEPER_DIR}/zkServer.sh start >/dev/null 2>&1 &
    fi


    runID=`/bin/ps aux | grep NameNode | grep -v 'grep' | awk '{print $2}'`
    if [ -z "$runID" ]
    then
       /usr/bin/nohup ${HADOOP_DIR}/hadoop-daemon.sh start namenode >/dev/null 2>&1 &
    fi

    runID=`/bin/ps aux | grep DFSZKFailoverController | grep -v 'grep' | awk '{print $2}'`
    if [ -z "$runID" ]
    then
       /usr/bin/nohup ${HADOOP_DIR}/hadoop-daemon.sh start zkfc >/dev/null 2>&1 &
    fi
done


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值