📜  Kafka控制台使用者

📅  最后修改于: 2021-01-05 02:48:56             🧑  作者: Mango

Kafka控制台使用者

在本部分中,用户将学习消费者如何消费或阅读Kafka主题中的消息。

使用者采取了以下步骤来消费来自主题的消息:

步骤1:首先启动zookeeper和kafka服务器。

步骤2:在命令行上输入命令:“ kafka-console-consumer”。这将帮助用户从Kafka主题中读取数据并将其输出到标准输出。

注意:根据操作系统选择“ .bat”或“ .sh”。

高亮显示的文本表示消费者需要“引导服务器”才能连接到Kafka主题。同样,需要一个“ topic_id”来知道消费者将从哪个主题中读取消息。

步骤3:了解所有要求后,尝试使用以下命令使用主题中的消息:

'kafka-console-consumer -bootstrap-server localhost:9092 -topic ' 。按回车。

注意: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”并停止。

因此,当用户希望使用者阅读时,可以从开始或从该状态开始消耗多个消息。