Ala*_*orm 6 apache-kafka kafka-consumer-api
我对卡夫卡非常陌生。我已经在我的 mac 上使用自制软件安装了 kafka 和 zookeeper,我正在玩快速入门指南。
我已经能够使用以下命令和 STDIN 将消息推送到 Kafka
kafka-console-producer --broker-list localhost:9092 --topic test
Run Code Online (Sandbox Code Playgroud)
我可以使用
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning
Run Code Online (Sandbox Code Playgroud)
我不清楚的是我如何使用偏移量。我的理解是,添加到主题的每条消息都会有一个数字增量偏移值。但是,如果我尝试做这样的事情
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --offset 1
Run Code Online (Sandbox Code Playgroud)
我得到一个非零状态代码并且没有显示任何消息(除了通常的帮助/使用信息)
我也无法使用最新或最早的关键字
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --offset earliest
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --offset latest
Run Code Online (Sandbox Code Playgroud)
以上两者也返回非零状态代码。
我从根本上误解了偏移量吗?如果没有,有没有办法列出所有带有偏移量的消息?最后 - 最简单的--offset标志示例是kafka-console-consumer什么?
如果您在给出偏移值后查看输出,它会说您需要指定一个分区(在帮助部分的顶部)
主题被细分为多个分区,偏移量 1 只能存在于可能数百个分区中的一个分区上,因此您必须指定它
关于显示偏移量,查找GetOffsetShell命令语法
一个很好的命令行工具,可以显示每条消息的偏移量kafkacat。
kafkacat -b localhost:9092 -C -t test -f 'Topic %t [%p] at offset %o: key %k: %s\n'
Run Code Online (Sandbox Code Playgroud)
它会打印出类似的东西
Topic test [5] at offset 111: key "0171bf8102007900e33": {"Message": "1"}
Topic test [2] at offset 123: key "070021b0f001f614c1b": {"Message": "2"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5677 次 |
| 最近记录: |