第5章 トピックからのメッセージの送受信


OpenShift にインストールされている Kafka クラスターとの間でメッセージを送受信します。

この手順では、Kafka クライアントを使用してメッセージを生成および消費する方法を説明します。クライアントを OpenShift にデプロイするか、ローカル Kafka クライアントを OpenShift クラスターに接続できます。いずれかまたは両方のオプションを使用して、Kafka クラスターのインストールをテストできます。ローカルクライアントの場合は、OpenShift ルート接続を使用して Kafka クラスターにアクセスします。

oc コマンドラインツールを使用して、Kafka クライアントをデプロイして実行します。

前提条件

ローカルプロデューサーおよびコンシューマーの場合:

OpenShift クラスターにデプロイされた Kafka クライアントからのメッセージの送受信

プロデューサーおよびコンシューマーのクライアントを OpenShift クラスターにデプロイします。その後、クライアントを使用して、同じ namespace 内の Kafka クラスターとの間でメッセージを送受信できます。このデプロイメントでは、Kafka を実行するために Streams for Apache Kafka コンテナーイメージを使用します。

  1. oc コマンドラインインターフェイスを使用して、Kafka プロデューサーをデプロイします。

    この例では、Kafka クラスター my-cluster に接続する Kafka プロデューサーをデプロイします。

    my-topic という名前のトピックが作成されます。

    Kafka プロデューサーの OpenShift へのデプロイ

    Copy to Clipboard Toggle word wrap
    oc run kafka-producer -ti \
    --image=registry.redhat.io/amq-streams/kafka-37-rhel9:2.7.0 \
    --rm=true \
    --restart=Never \
    -- bin/kafka-console-producer.sh \
    --bootstrap-server my-cluster-kafka-bootstrap:9092 \
    --topic my-topic

    注記

    接続に失敗した場合は、Kafka クラスターが実行中で、正しいクラスター名が bootstrap-server として指定されていることを確認してください。

  2. コマンドプロンプトから、いくつかのメッセージを入力します。
  3. OpenShift Web コンソールで Home > Projects ページに移動し、作成した amq-streams-kafka プロジェクトを選択します。
  4. Pod のリストから、kafka-producer をクリックして、プロデューサー Pod の詳細を表示します。
  5. Logs ページを選択して、入力したメッセージが存在することを確認します。
  6. oc コマンドラインインターフェイスを使用して、Kafka コンシューマーをデプロイします。

    Kafka コンシューマーの OpenShift へのデプロイ

    Copy to Clipboard Toggle word wrap
    oc run kafka-consumer -ti \
    --image=registry.redhat.io/amq-streams/kafka-37-rhel9:2.7.0 \
    --rm=true \
    --restart=Never \
    -- bin/kafka-console-consumer.sh \
    --bootstrap-server my-cluster-kafka-bootstrap:9092 \
    --topic my-topic \
    --from-beginning

    コンシューマーは my-topic に生成されたメッセージを消費しました。

  7. コマンドプロンプトから、コンシューマーコンソールに着信メッセージが表示されていることを確認します。
  8. OpenShift Web コンソールで Home > Projects ページに移動し、作成した amq-streams-kafka プロジェクトを選択します。
  9. Pod のリストから、kafka-consumer をクリックして、コンシューマー Pod の詳細を表示します。
  10. Logs ページを選択して、消費したメッセージが存在することを確認します。

ローカルで実行されている Kafka クライアントからのメッセージの送受信

コマンドラインインターフェイスを使用して、ローカルマシンで Kafka プロデューサーとコンシューマーを実行します。

  1. Streams for Apache Kafka ソフトウェアダウンロードページ から Streams for Apache Kafka <バージョン> バイナリーをダウンロードして展開します。

    amq-streams-<version>-bin.zip ファイルを任意の場所に解凍します。

  2. コマンドラインインターフェイスを開き、トピック my-topic と TLS の認証プロパティーを使用して Kafka コンソールプロデューサーを起動します。

    OpenShift ルートを使用して Kafka ブローカーにアクセスする のに必要なプロパティーを追加します。

    • 使用している OpenShift ルートのホスト名およびポート 443 を使用します。
    • パスワードと、ブローカー証明書用に作成したトラストストアへの参照を使用します。

      ローカル Kafka プロデューサーの起動

      Copy to Clipboard Toggle word wrap
      kafka-console-producer.sh \
      --bootstrap-server my-cluster-kafka-listener1-bootstrap-amq-streams-kafka.apps.ci-ln-50kcyvt-72292.origin-ci-int-gce.dev.rhcloud.com:443 \
      --producer-property security.protocol=SSL \
      --producer-property ssl.truststore.password=password \
      --producer-property ssl.truststore.location=client.truststore.jks \
      --topic my-topic

  3. プロデューサーが実行しているコマンドラインインターフェイスにメッセージを入力します。
  4. Enter を押してメッセージを送信します。
  5. 新しいコマンドラインインターフェイスタブまたはウィンドウを開き、Kafka コンソールコンシューマーを起動してメッセージを受信します。

    プロデューサーと同じ接続の詳細を使用します。

    ローカル Kafka コンシューマーの起動

    Copy to Clipboard Toggle word wrap
    kafka-console-consumer.sh \
    --bootstrap-server my-cluster-kafka-listener1-bootstrap-amq-streams-kafka.apps.ci-ln-50kcyvt-72292.origin-ci-int-gce.dev.rhcloud.com:443 \
    --consumer-property security.protocol=SSL \
    --consumer-property ssl.truststore.password=password \
    --consumer-property ssl.truststore.location=client.truststore.jks \
    --topic my-topic --from-beginning

  6. コンシューマーコンソールに受信メッセージが表示されることを確認します。
  7. Crtl+C を押して、Kafka コンソールプロデューサーとコンシューマーを終了します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.