3.5. 从主题发送和接收信息
此流程描述了如何启动 Kafka 控制台制作者和消费者客户端,并使用它们发送和接收几个信息。
步骤 1 中会自动创建一个新主题。Topic auto-creation 使用 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
传入消息显示在使用者控制台中。
- 切换到制作者控制台并发送额外的消息。检查它们是否在消费者控制台中显示。
- 停止 Kafka 控制台制作者,然后按 Ctrl+C。