本文概述
- 读取完整消息
使用者采取了以下步骤来消费来自主题的消息:
【kafka控制台消费者(consumer)】步骤1:首先启动zookeeper和kafka服务器。
步骤2:在命令行中输入命令:“ kafka-console-consumer”。这将帮助用户从Kafka主题中读取数据并将其输出到标准输出。
注意:根据操作系统选择“ .bat”或“ .sh”。
文章图片
高亮显示的文本表示消费者需要“引导服务器”才能连接到Kafka主题。同样,需要一个“ topic_id”来知道消费者将从哪个主题中读取消息。
步骤3:了解所有要求后,尝试使用以下命令使用主题中的消息:
‘ kafka-console-consumer -bootstrap-server localhost:9092 -topic < topic_name> ’ 。按回车。
注意:Bootstrap服务器是Kafka服务器,端口号= 9092。
文章图片
在上一节中,针对此主题生成了三则消息。但是,在上面的快照中,可以看到0条消息。这是因为Apache Kafka不会阅读所有主题。 Kafka使用者将仅使用那些仅在使用者处于活动状态时才产生的消息。这可以归类为Apache Kafka的缺点。
让我们了解一下:
打开一个新的终端。启动Kafka控制台制作器。将两个生产者-消费者控制台保持在一起,如下所示:
文章图片
现在,在生产者控制台中产生一些消息。之后,按Ctrl C并退出。
文章图片
可以看出,生产者控制台当前生成的所有消息都反映在消费者控制台中。这是因为消费者处于活动状态。
读取完整消息Apache Kafka可以产生数百万条消息。有时,消费者可能需要阅读特定主题的全部消息。
为此,请将“ -from-beginning”命令与上述kafka控制台使用者命令一起使用,如下所示:
‘ kafka-console-consumer.bat -bootstrap-server 127.0.0.1:9092 -topic myfirst -from-beginning’ 。该命令告诉Kafka主题,以允许使用者从头开始(即从使用者不活动时开始)读取所有消息。
例如,
文章图片
在上面的快照中,很明显,所有消息都是从头开始显示的。
注意:消息的顺序不是“总计”。这是因为该序列仅在分区级别(如Kafka简介部分所述)。对于主题“ myfirst”,我们有三个分区。因此,如果用户希望查看订单,请创建具有单个分区值的主题。它将按顺序显示整个消息。
完成消息交换过程后,按“ Ctrl C”并停止。
因此,当用户希望消费者阅读时,可以从开始或从该状态开始消费多个消息。
推荐阅读
- 在intellij idea中安装kafka
- kafka消费者组cli
- kafka和java编程
- 发送数据到kafka主题(topics)
- 创建kafka主题(topics)
- 在linux上安装kafka
- 在macos上安装apache kafka
- apache kafka的安装
- apache kafka架构原理