kafka启动停止脚本

2023-06-30 15:01:17 浏览数 (2)

代码语言:javascript复制
#!/bin/bash

ENV_FILE=~/.bash_profile
# 判断是否有bash_profile文件
if [ ! -f "${ENV_FILE}" ]; then
  source ${ENV_FILE}
fi

##java env
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin


kafka_home_log=/data/SW/kafka/logs
kafka_home=/usr/local/sw/cluster/kafka

startApp="$kafka_home/bin/kafka-server-start.sh -daemon $kafka_home/config/server.properties"



# 停止Kafka服务
function stop(){
    echo "stopping kafka"
    SIGNAL=${SIGNAL:-TERM}
    PIDS=$(ps ax | grep java | grep -i Kafka | grep -v grep | awk '{print $1}')

    if [ -z "$PIDS" ]; then
        echo "No kafka server to stop"
        exit 1
    else
        kill -s $SIGNAL $PIDS

        cleanlog
    fi
    echo "stoped success"
}


# 启动Kafka服务
function start(){
    echo "starting kafka"
    # $startApp
    COMMAND=$(ps ax | grep java | grep -i Kafka | grep -v grep | awk '{print $1}')
    for((i=1;i<=5;i  ));
    do
        if [[ $COMMAND -le 0 ]]; then
            $startApp
            echo "start $i times"
            sleep 10s 
        else
            echo "process alived"
            break
        fi
    done
    echo "started sucess"
}
 

# 重启kafka服务
function restart(){
    echo "restarting kafka"
    echo "kafka process is $(ps ax | grep java | grep -i Kafka | grep -v grep | awk '{print $1}')"
    stop

    sleep 10s
    start
    echo "kafka process is $(ps ax | grep java | grep -i Kafka | grep -v grep | awk '{print $1}')"
    echo "restarted success"
}


function cleanlog(){
    echo "删除kafka的临时目录$kafka_home_log"
    # 删除kafka的临时目录
    rm $kafka_home_log/* -rf
    echo "done 删除kafka的临时目录"
}



case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
      * )
echo "no command"
;;
esac
exit 0

0 人点赞