ApacheKafka

Apache Kafka 3.8 Docker環境構築方法|5分で簡単セットアップ

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

Apache Kafka 3.8のDocker環境構築でできること

ローカル環境でApache Kafkaを試す際、ZooKeeperとの連携やバージョン管理に手間がかかると感じる開発者は少なくありません。本記事では、Docker Composeを用いて5分でKafka 3.8の簡易環境を構築できる方法を解説します。実際のメッセージング動作を体験することで、分散型メッセージングシステムの理解が深まります。


準備するものと前提条件

本記事の手順に沿ってKafka環境を構築するには、以下の前提条件が必要です。

  • Docker(バージョン19.03以上)がインストール済みであること
  • docker-composeコマンドが利用可能であること
  • テキストエディタ(VS CodeやNanoなど)でdocker-compose.ymlファイルを編集できる環境

注意:WindowsではDocker Desktopを使用し、Linux環境ではDocker Engineのインストールを確認してください。


docker-compose.ymlの作成手順

Docker ComposeでのKafka構築には、ZooKeeperとKafkaサービスを連携させた設定が不可欠です。以下にテンプレートを示します。

ZooKeeperサービスの定義

ZooKeeperはKafkaが動作するためのディスカバリーサービスとして必要です。

Kafkaサービスのバージョン指定

Kafka 3.8に対応するイメージを使用し、ZooKeeperとの通信設定を行います。不安定なlatestタグではなく具体的なバージョン(例: 7.3.1)を指定することをお勧めします

ネットワーク設定のポイント

kafka_networkネットワークを共通にすることで、コンテナ間での通信が可能になります。


ZooKeeperとKafkaバージョンの互換性確認

ZooKeeperとKafkaのバージョン不一致により起動失敗するリスクがあります。以下に推奨される組み合わせを示します。

ZooKeeperバージョン Kafkaバージョン 注意事項
3.8.x 3.8.x バグ修正で安定性向上
3.6.x 3.4.x 基本的な互換は保証されるが、動作検証が必要

注意:使用するバージョンに応じて公式ドキュメントを必ず確認してください。


Dockerコンテナの起動と確認方法

作成したdocker-compose.ymlファイルを使ってサービスを起動します。

サービス起動コマンドの実行

以下のコマンドでDockerコンテナを立ち上げます。

-dオプションでバックグラウンド実行に設定し、不要な出力が表示されないようにします。

ポート開放状態の確認手順

起動後は、ポート番号が適切にマッピングされているかをチェックします。

出力結果にzookeeper:2181kafka:9093(または指定したポート)が表示されれば、正常に起動しています。


テスト用Producer/Consumerの実装

Kafkaサービスを確認した後は、テスト用のメッセージングを試してみましょう。

Kafkaコマンドラインツールの使用

Dockerイメージにはコマンドラインツールが含まれているため、以下のようにトピックを作成します。

メッセージ送信・受信の検証手順

以下でProducerとConsumerを起動し、メッセージの送受信をテストします。

Producer起動コマンド

Consumer起動コマンド

メッセージを入力すると、Consumer側で同時に表示されるのを確認してください。


環境構築後の確認チェックリスト

Kafka環境が正常に動作しているかは以下の手順で確認します。

  1. サービス状態の確認
  2. docker psでコンテナが稼働中かをチェック
  3. docker logs kafkaでエラーメッセージがないか調査

  4. メッセージング動作テスト

  5. トピック作成からProducer/Consumerの起動までを繰り返し確認

  6. エラー時のトラブルシューティング手順

  7. ポート衝突:docker psで他のサービスが9092ポートを使用していないか
  8. ZooKeeper接続:KAFKA_ZOOKEEPER_CONNECTの設定値が正しいか

まとめ

本記事では、Docker Composeを用いてApache Kafka 3.8環境を構築する手順を解説しました。

  • ZooKeeperとの連携ネットワーク設定のポイントを押さえれば、ローカルでのテストがスムーズに
  • Producer/Consumerのコマンド実行例で、メッセージング動作を確認可能

この手順により、Kafkaの基本的な仕組みを体験しながら学習できます。本記事の手順で5分で環境を立ち上げ、実際のメッセージングを体験してみてください。


スポンサードリンク

-ApacheKafka