卡夫卡的新贵脚本

upstart script for kafka

我正在使用 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) 创建交易品种link: ln -s /lib/init/upstart-job /etc/init.d/kafka-zk

(3) 运行 "sudo service kafka-zk start|stop" 启动或停止kafka和zookeeper

我的问题是:当运行 "sudo service kafka-zk stop"时,我不确定脚本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 吗?

(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 }' | xargs kill -SIGINT

(2) upstart 可以在后台进行作业 运行。所以“-daemon”不是必需的