@[Kafka3.0一键启动
#!/bin/bash
# zookeeper端口号
zk_port=2181
#kafka端口号
kafk#a_port=9092
kafka_dir=/usr/local/kafka/
#停止服务 先停止kafka 在停止zookeeper
function stop_app() {
echo 'stop port'
kafka_num=`ps -ef|grep ${kafka_dir}|grep config/server.properties|wc -l`
if [ ${kafka_num} -gt 0 ];then
ps -ef|grep ${kafka_dir}|grep config/server.properties|awk '{print $2}'|xargs kill -15
echo 'kafka already stop'
fi
#停止kafka需要时间建议等待几秒钟后再停止zookeeper
sleep 4
zk_num=`ps -ef|grep ${kafka_dir}|grep config/zookeeper.properties|wc -l`
if [ ${zk_num} -gt 0 ];then
ps -ef|grep ${kafka_dir}|grep config/zookeeper.properties|awk '{print $2}'|xargs kill -9
echo 'zookeeper already stop'
fi
}
function check_zk() {
num=`lsof -i:${zk_port}|wc -l`
return ${num};
}
function check_kafka() {
num=`lsof -i:${kafka_port}|wc -l`
return ${num};
}
start_app() {
nohup ${kafka_dir}bin/zookeeper-server-start.sh -daemon config/zookeeper.properties > ./logs/zk_start.log 2>&1 &
check_zk
while [ $? -eq 0 ]
do
echo 'Zookeeper start running...'
sleep 1
check_zk
done
sleep 3
echo 'Zookeeper Already start,next start Kafka...'
nohup ${kafka_dir}bin/kafka-server-start.sh -daemon config/server.properties > ./logs/kafka_start.log 2>&1 &
check_kafka
while [ $? -eq 0 ]
do
echo 'Kafka start running...'
sleep 1
check_kafka
done
echo 'Kafka Alreadystart success'
lsof -i:${kafka_port}
}
uage() {
echo '使用示例: sh start_service.sh [start|restart|stop]'
}
exe_type=$1
case "$exe_type" in
start)
start_app
;;
restart)
stop_app
start_app
;;
stop)
stop_app
;;
*)
uage
exit 1
esac