Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?
@tily

docker-compose で Kafka の動作確認

More than 3 years have passed since last update.

docker-compose で Kafka の動作確認をしようとして、いつもハマるので基本的なやり方をメモしておく。

準備

ディレクトリを作って docker-compose.yml を書き込む。

$ mkdir kafka-test/
$ cd kafka-test/
$ vi docker-compose.yml

docker-compose.yml はこんな感じ。(KAFKA_ADVERTISED_HOST_NAME という環境変数の挙動がよく分かってなくていつもハマる。ちゃんと調べて理解しなきゃな…。)

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 172.17.0.1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Kafka/Zookeeper 起動

docker-compose up する。

$ docker-compose up -d
Creating network "kafkatest_default" with the default driver
Creating kafkatest_zookeeper_1
Creating kafkatest_kafka_1

ps でちゃんと立ち上がっていることを確認。

$ docker-compose ps
        Name                       Command               State                         Ports                        
-------------------------------------------------------------------------------------------------------------------
kafkatest_kafka_1       start-kafka.sh                   Up      0.0.0.0:32778->9092/tcp                            
kafkatest_zookeeper_1   /bin/sh -c /usr/sbin/sshd  ...   Up      0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcp

動作確認

ここでは公式のクイックスタートを参考に、基本的な操作を実行してみる。

トピック作成。

$ docker-compose exec kafka /opt/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".

トピック一覧。

$ docker-compose exec kafka /opt/kafka/bin/kafka-topics.sh --list --zookeeper zookeeper:2181
test

メッセージ送信。

$ docker-compose exec kafka /opt/kafka/bin/kafka-console-producer.sh --broker-list kafka:9092 --topic test
test
test
test

メッセージ受信。

$ docker-compose exec kafka /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server kafka:9092 --tic test --from-beginning
test
test
test

以上です。

参考資料

6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tily
お気に入り ruby 使える python golang javascript 書いたことはある perl php 興味ある erlang 苦手 java
fjct
クラウド・IoT 関連サービスを開発・提供している企業です。(こちらは、富士通クラウドテクノロジーズの有志にて運営しております。)

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
6
Help us understand the problem. What is going on with this article?