Kafka 控制台消费者17 Mar 2025 | 阅读 2 分钟 在本节中,用户将学习消费者如何从 Kafka 主题中消费或读取消息。 消费者执行以下步骤以从主题中消费消息 步骤 1: 初始启动 zookeeper 和 kafka 服务器。 步骤 2: 在命令行中键入命令:'kafka-console-consumer'。这将帮助用户从 Kafka 主题中读取数据,并将其输出到标准输出。 注意: 根据操作系统选择 '.bat' 或 '.sh'。![]() 突出显示的文本表示消费者需要一个“bootstrap-server”才能连接到 Kafka 主题。 此外,需要一个“topic_id”才能知道消费者将从哪个主题读取消息。 步骤 3: 在了解所有要求后,尝试使用命令从主题中消费消息 'kafka-console-consumer -bootstrap-server localhost:9092 -topic <topic_name>'。 按 Enter 键。 注意: Bootstrap server 是 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”并停止。 因此,可以从头开始或从用户希望消费者读取消息的状态开始消费多条消息。 下一主题Kafka 消费者组 CLI |
我们请求您订阅我们的新闻通讯以获取最新更新。