1
1

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 1 year has passed since last update.

Apache Kafkaを動かす環境を作成する

Posted at

仕事でKafkaを使うことになったので、自分のパソコンにもKafkaの環境を入れてみようと思いました。
ひとまずはKafkaでCLIによる送信・受信ができるまでを目標に行います。

インストール

Kafka自体は圧縮ファイルで一式ダウンロードして試すこともできるが、Dockerを使うという前提条件があった。
そのため、Dockerを使って環境構築をする。
Windowsの場合は下記のインストールが必要になる。

  • WSL2
  • Docker Desktop

WSL2

PowerShellを管理者として実行し、以下のコマンドを行う。
wsl --install

image.png

レスポンスにある通り、これをインストールしたら再起動をする必要がある。

Docker DeskTop

下記からインストールを行う。
https://docs.docker.com/desktop/install/windows-install/

基本的にデフォルトの設定から変更する必要なく、そのまま進んでいけばよい。

再起動後

再起動後Docker Desktopが立ち上がる。
正常に起動できれば以下のような画面になる。
image.png

Docker Imageを利用してKafkaの環境を作成する。

ymlファイルを利用して、docker-composeコマンドを使い環境を作成する。

Docker、Docker composeがインストールされていることを確認

それぞれのバージョンを確認して、レスポンスが返ってくることを確認すればよい。
image.png

ymlファイル

version: "3"
services:
  kafka:
    image: confluentinc/cp-kafka
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:32181
      KAFKA_LISTENERS: EXTERNAL_SAME_HOST://:29092,INTERNAL://:9092
      KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092,EXTERNAL_SAME_HOST://localhost:29092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL_SAME_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    ports:
      - 29092:29092
    depends_on:
      - zookeeper
  zookeeper:
    image: confluentinc/cp-zookeeper
    environment:
      ZOOKEEPER_CLIENT_PORT: 32181

起動コマンド

docker-compose -p test -f "ymlファイルのパス" -d

これで問題なければ以下のような画像の構成になるはず。
image.png

コンテナが作れたら、kafkaのコンテナに入り一応下記のコマンドを執行してkafkaのCLIが実行できることを確認しよう
kafka-topics --version
image.png

トピックを作って送受信できることを確認する

トピックを作成する

sh-4.4$ kafka-topics --bootstrap-server localhost:9092 --create --replication-factor 1 --partitions 1 --topic sample1
Created topic sample1.

トピックにメッセージを送信させる

sh-4.4$ kafka-console-producer --bootstrap-server=localhost:9092 --topic sample1
>testmessage
>
>;
>^C

トピックにメッセージが送られたかを確認する

sh-4.4$ kafka-consoconsumer --bootstrap-server localhost:9092 -topic sample1 --from-beginning
testmessage

;

これでKafkaを利用できる環境は整った。
次はdebeziumとKafkaを連携できるようにしたいと思う。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?