gpt4 book ai didi

apache-kafka - 使用命令行检查消息是否已写入kafka主题

转载 作者:行者123 更新时间:2023-12-05 01:39:21 26 4
gpt4 key购买 nike

首先,请注意不能使用 java 消费者 API。为什么这不是我无法透露的选项,但我必须能够使用 shell 命令执行以下操作。

我有一个主题,我已经写了一条消息,如果我运行 ./kafka-console-consumer.sh--from,我可以确认是这种情况-beginning 选项,但由于这会启动一个消费者,因此命令会卡住,需要使用 SIGINT 进行手动干预。我已经接近使用 --timeout-ms,但这并不理想,因为除非我选择一个高值,否则数据转储可能不可靠。
我想以可以 grep 的方式转储 console-consumer 的输出,一种合适的替代方法。

最佳答案

写入Kafka时,可以设置in the producer acks,这是您希望代理保证消息已被本地代理和/或所有副本接收和写入的级别。

如果您使用它,则无需尝试使用主题来确定记录是否已写入。这听起来像是一个非常糟糕的尝试。

如果您绝对必须使用命令行工具来执行此操作(这不是一个好主意),那么使用 kafkacat 可以从任何偏移量消耗任何数量的消息,例如:

  • 从头(-o beginning)消费(-C)5条消息(-c 5),否则退出(-e) 到达分区末尾时

    kafkacat -b localhost:9092 -t mytopic -o beginning -e -C -c 5
  • 从末尾 (-o -10) 消费 (-C) 十条消息 (-c 10),或者到达分区末尾时退出(-e)

    kafkacat -b localhost:9092 -t mytopic -o -10 -e -C -c 10
  • 在偏移量 42 (-o 42) 处消费 (-C) 一条消息 (-c 1),否则退出(-e) 到达分区末尾时

    kafkacat -b localhost:9092 -t mytopic -o 42 -e -C -c 1

关于apache-kafka - 使用命令行检查消息是否已写入kafka主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58395828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com