Linuxはポートをリスニングし、サービスを再起動します.

2881 ワード

ここでは、KAFKAポートがオフになっているかどうかを傍受し、KAFKAサービスを再起動する例を示します.
kafkaサービスが開始される前提はzokeeperサービスが開始されたことを保証することである.詳細な構成については、本明細書の重点ではありません.
目次
1.kafka起動/停止スクリプトの作成
2.ポートリスニングスクリプトの作成
3.crontabタスクの編集
1.kafka起動/停止スクリプトの作成
vi /usr/local/kafka/kafka.service
#!/bin/bash

RETVAL=$?
KAFKA_HOME="/usr/local/kafka"

case "$1" in
start)
if [ -f $KAFKA_HOME/bin/kafka-server-start.sh ];
then
echo $"Starting kafka"
$KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
# $KAFKA_HOME/bin/kafka-server-start.sh  $KAFKA_HOME/config/server.properties
fi
;;
stop)
if [ -f $KAFKA_HOME/bin/kafka-server-stop.sh ];
then
echo $"Stopping Kafka"
$KAFKA_HOME/bin/kafka-server-stop.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac

exit $RETVAL

コンパイルスクリプト実行可能
chmod +x /usr/local/kafka/kafka.service

2.ポートリスニングスクリプトの作成
vi /usr/local/kafka/kafka/Listener_kafka_port_9077.sh
#!/bin/bash

ListeningPort=`netstat -an | grep ":9077" | awk '$1 == "tcp" && $NF == "LISTEN" {print $0}' | wc -l` 
if [ $ListeningPort-eq 0 ] 
then 
{ 
echo "`date` : listener port is down">>/usr/local/kafka/kafka_down.log 
#   9077  down ,  kafka  ,     kafka .lock   ,   
/usr/local/kafka/kafka.service stop
sleep 3
/usr/local/kafka/kafka.service start
} 
else 
{ 
 echo "`date` : 9077    " >>/usr/local/kafka/kafka_ok.log 
} 
fi 

コンパイルスクリプト実行可能
chmod +x /usr/local/kafka/kafka/Listener_kafka_port_9077.sh

3.crontabタスクの編集
スケジュールタスクのステータスの表示
service crond status

スタートアップコマンド
service crond start

crontabタスクのタイミングタスクの表示
crontab -l

スケジュール実行タスクの作成
crontab -e

crontab構成ルールは、デフォルトでは1分に1回実行され、5秒ごとにkafkaサービスポートをリスニングすることを保証する次の内容を追加します.
* * * * * /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 5; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 10; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 15; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 20; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 25; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 30; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 35; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 40; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 45; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 50; /usr/local/kafka/Listener_kafka_port_9077.sh
* * * * * sleep 55; /usr/local/kafka/Listener_kafka_port_9077.sh

参照元:
http://www.bcty365.com/content-121-6208-1.html