3.5. トピックからのメッセージの送受信
この手順では、Kafka コンソールプロデューサーおよびコンシューマークライアントを起動し、それらを使用して複数のメッセージを送受信する方法を説明します。
新しいトピックは、ステップ 1 で自動的に作成されます。トピックの自動作成 は、auto.create.topics.enable
設定プロパティーを使用して制御されます (デフォルトでは true
に設定されます)。または、クラスターを使用する前にトピックを設定および作成することもできます。詳細は、トピック を参照してください。
手順
Kafka コンソールプロデューサーを起動し、メッセージを新しいトピックに送信するように設定します。
/opt/kafka/bin/kafka-console-producer.sh --broker-list <bootstrap_address> --topic <topic-name>
以下に例を示します。
/opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
コンソールに複数のメッセージを入力します。Enter を押して、各メッセージを新しいトピックに送信します。
>message 1 >message 2 >message 3 >message 4
Kafka が新しいトピックを自動的に作成すると、トピックが存在しないという警告が表示される可能性があります。
WARN Error while fetching metadata with correlation id 39 : {4-3-16-topic1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
この警告は、さらにメッセージを送信すると、再び表示されることはありません。
新しいターミナルウィンドウで、Kafka コンソールコンシューマーを起動し、新しいトピックの最初からメッセージを読み取るように設定します。
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server <bootstrap_address> --topic <topic-name> --from-beginning
以下に例を示します。
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning
受信メッセージがコンシューマーコンソールに表示されます。
- プロデューサーコンソールに切り替え、追加のメッセージを送信します。それらがコンシューマーコンソールに表示されていることを確認します。
- Ctrl+C を押して Kafka コンソールプロデューサーを停止し、コンシューマーを停止します。