走らせるだけで意外と調べることが多かったので、メモです。

参考

環境

    • Macbook Pro 16inch (Intel)

 

    Mac OS Big Sur

前提

    • docker-composeが入っている

 

    dockerが入っている

コード

まず、自分のデバイスに割り当てられたIPアドレスを取得しましょう。

$ ipconfig getifaddr en0
192.168.11.17

これを以下のdocker-compose.ymlに貼り付けます。

version: '3'

services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.11.17 # must be your IP, run `ipconfig getifaddr en0`
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

走らせてみる

docker-compose up

別のディレクトリでトピック登録

$ 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
>lol
>haha

メッセージの受信

docker-compose exec kafka \
/opt/kafka/bin/kafka-console-consumer.sh \
--bootstrap-server kafka:9092 --topic test --from-beginning
lol
haha
广告
将在 10 秒后关闭
bannerAds