如何查看kafka消息

Posted

技术标签:

【中文标题】如何查看kafka消息【英文标题】:How to view kafka message 【发布时间】:2017-10-29 13:24:06 【问题描述】:

有什么方法可以查看给定主题发送到 kafka 的消息内容?如果可能的话,说一些类似查看此主题的最后 5 条消息之类的话。

【问题讨论】:

KaDeck 是一个免费的“Kafka 主题/消息浏览器”,它作为桌面应用程序在 Mac、Linux 和 Windows 上运行。它还支持 Avro(Schema Reg + Embedded)、Json、String 等……如果您需要 Web 服务,则需要购买企业版。 【参考方案1】:

您可以使用控制台消费者查看某个主题产生的消息:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

【讨论】:

这个命令还需要 --zookeeper details ,我添加了 - ./kafka-console-consumer.sh --zookeeper localhost:2181 --bootstrap-server localhost:9092 --topic test。但现在我得到 - kafka.common.ConsumerRebalanceFailedException: console-consumer-18088_sp-1496052524018-50bb9338 can't rebalance after 4 retries at kafka.consumer.ZookeeperConsumerConnector$ZKRebalancerListener.syncedRebalance(ZookeeperConsumerConnector.scala:660) at 这是一个单独的问题。看看这个:***.com/questions/22563401/… 使用 bin/kafka-console-consumer.sh --new-consumer --bootstrap-server localhost:9092 --topic test --from-beginning bootstrap-server vs. zookeeper 是kafka版本的问题。 WARN [Consumer clientId=consumer-1, groupId=console-consumer-22072] 无法建立到节点 -1 (localhost/127.0.0.1:9092) 的连接。经纪人可能不可用。 (org.apache.kafka.clients.NetworkClient)【参考方案2】:

我在一家拥有数百名开发人员的公司工作,他们显然需要定期检查 Kafka 消息。员工来来去去,因此我们希望避免为每个新员工设置(专用 SASL 凭据、证书、ACL...)。

我们的平台团队部署了 Kowl (https://github.com/cloudhut/kowl),这样每个人都可以访问它,而无需进行常规设置。我们在使用 docker-compose 文件进行本地开发时也会用到它。

【讨论】:

【参考方案3】:

在您的管理员运行 kafka 的服务器上,通过命令 find . -name kafka-console-consumer.sh 找到 kafka-console-consumer.sh,然后转到该目录并运行以从您的主题中读取消息

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --max-messages 10

请注意,在这种情况下,主题中可能有很多消息,我使用 --max-messages

【讨论】:

【参考方案4】:

使用Kafka提供的Kafka消费者:

bin/kafka-console-consumer.sh --bootstrap-server BROKERS --topic TOPIC_NAME

它将在收到消息时显示消息。如果你想从头开始添加--from-beginning

【讨论】:

【参考方案5】:

您可以尝试Kafka Magic - 它是免费的,您可以在 javascript 中编写引用消息属性和元数据的复杂查询。也适用于 Avro 序列化

【讨论】:

就像一个魅力......!!!在本地 - 集群名称 = localhost 引导 URL = localhost:9092 阅读主题时是否支持avro模式?虽然我输入了 schema-registry URL,并且连接验证成功,但在过滤主题时禁用了 avro 支持的复选框。 当我试图运行 ./kafkamagic 时。 mac,就是说,“KafkaMagic”无法打开,因为无法验证开发者。请有任何建议【参考方案6】:

如果你是从 windows 文件夹做的,我的意思是如果你使用的是 windows 机器上的 kafka

kafka-console-consumer.bat --bootstrap-server localhost:9092 --<topic-name> test --from-beginning

【讨论】:

【参考方案7】:

您可以查看AKHQ。我们在Nussknacker 中使用它。您可以通过我们的Demo page实时查看。

【讨论】:

【参考方案8】:

如果您想知道为什么原始答案不起作用。好吧,可能是您不在主目录中。试试这个:

$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

【讨论】:

【参考方案9】:

旧版本包含kafka-simple-consumer-shell.sh (https://kafka.apache.org/downloads#1.1.1),这很方便,因为我们不需要cltr+c 来退出。

例如

kafka-simple-consumer-shell.sh --broker-list $BROKERIP:$BROKERPORT --topic $TOPIC1 --property print.key=true --property key.separator=":"  --no-wait-at-logend

【讨论】:

【参考方案10】:

您可以尝试kafdrop 在 Web UI 中查看消息,而不是使用 shell 命令。

【讨论】:

以上是关于如何查看kafka消息的主要内容,如果未能解决你的问题,请参考以下文章

Kafka入门系列(十三) 如何查看topic消息数

如何查看kafka 各partition数据量

kafka如何查看哪个topic流量变大了

如何查看kafka消费者信息

如何查看kafka消费者信息

kafka查看消费了多少条数据