60
55

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

高速にApache Kafkaを試す

Last updated at Posted at 2015-09-10

Apache kafkaに入門した

最近Apache kafkaを探求している.触ることも多くなったのでローカルで簡単に試せる環境をちゃんと整えた.JVMだし動かすの大変そうと思われがちだがDockerを使えばコマンド1発で起動できる.以下では実際にBrokerを立ててsyslogの配信/購読をやってみる.

バージョンは 0.8.2 を対象に書いている.

まずKafka(Broker)を動かす.Dockerイメージtcnksm/single-kafkaを準備した.以下のように起動する.オプションはすべてDockerホスト外からBrokerにアクセスするための設定.

$ docker run --rm -it \
    --name kafka \
    --publish 9092:9092 \
    --env ADVERTISED_HOST=${DOCKER_HOST} \
    --env ADVERTISED_PORT=9092 \
    tcnksm/single-kafka

実際にsyslogの配信(Produce)と購読(Consume)をしてみる.logstashやfluentdを使っても良いがkafkacatを使うのがお手軽.バイナリで配布されているのでOSXだとHomeBrewでインストールできる.

$ brew install kafkacat

まず配信は以下.パイプでtailの出力を受け取る.トピック名はsyslogとしKafka(Broker)はDocker上で動いているので${DOCKER_HOST}:9092を指定する.

$ tail -f /var/log/system.log | kafkacat -P -t syslog -b ${DOCKER_HOST}:9092

次に購読は以下のようにする.トピック名syslogを指定するだけ.

$ kafkacat -C -t syslog -b ${DOCKER_HOST}:9092

まとめ

サードパーティのConsumer/Producerを試す,もしくは自分で書いたConsumerやProducerのテストにも使えるのでぜひ使ってください.

60
55
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
55

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?