Docker環境でKafkaに気軽に入門する
Kafkaを扱うことになり、なんとかして手軽に触ってみることはできないかと思っていたら、このDocker imageをおすすめされた。
https://hub.docker.com/r/landoop/fast-data-dev
KafkaのDocker imageはいろいろあるが、これは必要なサーバが自動で立ち上がるうえ、コンソール画面がついており、Kafkaの初心者でも触りやすい。
Docker環境のセットアップ
まずはdocker-compose.yml
を以下のように書く。
version: '3' services: kafka: ports: - 2181:2181 - 3030:3030 - 8081:8081 - 8082:8082 - 8083:8083 - 9092:9092 image: landoop/fast-data-dev volumes: - ./data:/data
portsで指定しているのは、KafkaやZookeeperが使うport。また、Kafkaはデータを/data
に保存していくので、ここをホストと共有しておくと、一度dockerコンテナを落としてもデータが失われない。
ファイルを作ったらdocker-compose up -d
で起動。ブラウザからlocalhost:3030
にアクセスし、コンソールが表示されれば成功。
Kafkaを触ってみる
Kafkaが立ち上がったら、基本的には公式サイトのQuickstartに従ってコマンドを打ってみるのが一番わかりやすい。ただしこのチュートリアルはローカル環境にKafkaをダウンロードする想定なので、Step1と2は飛ばしてよい。
また、Step6で扱うserver.properties
ファイルは/opt/landoop/kafka/etc/kafka/
にある。さらに、Step7ではKafka Connectプロセスを立ち上げることになっているが、今回のdocker imageでは既に8083番ポートで立ち上がっているので不要だった。とても便利。