我正在使用upstart脚本来启动kafka和zookeeper。我的步骤是: (1)以下是kafka-zk.conf(将它放在/ etc / init /中):
kill timeout 300
start on runlevel [2345]
stop on runlevel [06]
pre-start script
end script
script
KAFKA_HOME=/home/My/kafka/kafka_<version>
exec $KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties
end script
(2)创建符号链接:ln -s / lib / init / upstart-job /etc/init.d/kafka-zk
(3)运行&#34; sudo service kafka-zk start | stop&#34;启动或停止kafka和zookeeper
我的问题是:当运行&#34; sudo service kafka-zk stop&#34;时,我不确定脚本 zookeeper-server-stop.sh (http://kafka.apache.org/documentation.html#quickstart是否被召唤。如何让upstart脚本使用 zookeeper-server-stop.sh ?
另外,我应该使用exec $ KAFKA_HOME / bin / zookeeper-server-start.sh -daemon $ KAFKA_HOME / config / zookeeper.properties吗?
答案 0 :(得分:1)
(1)以下是zookeeper-server-stop.sh。见https://github.com/kafka-dev/kafka/blob/master/bin/zookeeper-server-stop.sh
#!/bin/sh
ps ax | grep -i 'zookeeper' | grep -v grep | awk '{print $1}' | xargs kill -SIGINT
(2)upstart可以让作业在后台运行。所以&#34; -daemon&#34;没有必要