Kafka--一键启动脚本

vim /etc/profile
export KAFKA_HOME=/export/servers/kafka
export PATH=$PATH:$KAFKA_HOME/bin
vim /usr/local/bin/kafkacmd.sh
#! /bin/bash# Kafka代理节点地址
hosts=(node01 node02 node03)# 打印启动分布式脚本信息
mill=`date "+%N"`
tdate=`date "+%Y-%m-%d %H:%M:%S,${mill:0:3}"`echo [$tdate] INFO [Kafka Cluster] begins to execute the $1 operation.
​
# 执行分布式开启命令
function start()
{
    
    
        for i in ${hosts[@]}
                do
                        smill=`date "+%N"`
                        stdate=`date "+%Y-%m-%d %H:%M:%S,${smill:0:3}"`
                        ssh $i "source /etc/profile;echo [$stdate] INFO [Kafka Broker $i] begins to execute the startup operation.;kafka-server-start.sh $KAFKA_HOME/config/server.properties>/dev/null" &
                        sleep 1
                done
}# 执行分布式关闭命令
function stop()
{
    
    
        for i in ${hosts[@]}
                do
                        smill=`date "+%N"`
                        stdate=`date "+%Y-%m-%d %H:%M:%S,${smill:0:3}"`
                        ssh $i "source /etc/profile;echo [$stdate] INFO [Kafka Broker $i] begins to execute the shutdown operation.;kafka-server-stop.sh>/dev/null;" &
                        sleep 1
                done
}# 查看Kafka代理节点状态
function status()
{
    
    
        for i in ${hosts[@]}
                do
                        smill=`date "+%N"`
                        stdate=`date "+%Y-%m-%d %H:%M:%S,${smill:0:3}"`
                        ssh $i "source /etc/profile;echo [$stdate] INFO [Kafka Broker $i] status message is :;jps | grep Kafka;" &
                        sleep 1
                done
}# 判断输入的Kafka命令参数是否有效
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status
        ;;
    *)
        echo "Usage: $0 {start|stop|status}"
        RETVAL=1
esac
  • 3.给脚本赋权
chmod 777 /usr/local/bin/kafkacmd.sh
  • 4.如果要使用stop
vim /export/servers/kafka/bin/kafka-server-stop.sh
# PIDS=$(ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}')
PIDS=$(ps ax | grep -i 'Kafka' | grep java | grep -v grep | awk '{print $1}')
  • 5.再分发kafka-server-stop.sh
scp /export/servers/kafka/bin/kafka-server-stop.sh node02:/export/servers/kafka/bin/

scp /export/servers/kafka/bin/kafka-server-stop.sh node03:/export/servers/kafka/bin/
  • 6.使用
kafkacmd.sh status 查看状态

kafkacmd.sh start 开启

kafkacmd.sh stop 停止

猜你喜欢

转载自blog.csdn.net/qq_46893497/article/details/114180922