kafka-server-stop.shで気をつけること

Apache Kafkaにおいて表題の通り。

■ 環境

  • Apache Kafka 0.8.2.1

■ kafka-server-stop.sh

`kafka-server-stop.sh`を実行する際に気をつけなければいけない点がある。先日のエントリにあるような1サーバに複数のKafkaサーバ(Broker)のプロセスを稼働させている場合、`kafka-server-stop.sh`で停止をしようとすると全てのKafkaサーバが停止してしまう。

そもそも`kafka-server-stop.sh`には引数が存在しないので中身を見てみると下記のようになっている。

$ cat /usr/local/Cellar/kafka/0.8.2.1/libexec/bin/kafka-server-stop.sh
#!/bin/sh
  :
ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}' | xargs kill -SIGTERM

`kill`で”kafka.Kafka“の全てのプロセスを停止させているだけである。

`kill`で殺して良いのだな、という発見もあるが、ちょっと乱暴である気もする。

1台で複数のKafkaサーバを起動している場合には注意が必要だ。

以上。

■ 関連