有没有什么办法可以查看发送给kafka的消息内容?如果可能的话,请说一些事情,例如查看该主题的最后5条消息。
答案 0 :(得分:42)
您可以使用控制台使用者查看在某个主题上生成的消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
答案 1 :(得分:3)
使用Kafka提供的Kafka消费者:
main
它将显示收到它的消息。如果您想从头开始,请添加bin/kafka-console-consumer.sh --bootstrap-server BROKERS --topic TOPIC_NAME
。
答案 2 :(得分:2)
我为一家拥有数百名开发人员的公司工作,这些开发人员显然需要定期检查Kafka消息。员工来来往往,因此我们希望避免为每个新员工设置(专用的SASL凭证,证书,ACL等)。
我们的平台团队负责部署Kowl(https://github.com/cloudhut/kowl),以便每个人都可以访问它而无需进行常规设置。在使用docker-compose文件进行本地开发时,我们也会使用它。
答案 3 :(得分:1)
如果您是从Windows文件夹中进行操作,那么我的意思是如果您正在从Windows机器中使用kafka
kafka-console-consumer.bat --bootstrap-server localhost:9092 --<topic-name> test --from-beginning
答案 4 :(得分:0)
如果您正在寻找一种简单直观的方式来查看和搜索Apache Kafka消息,则应尝试KaDeck。社区版是完全免费的,它支持Win,Mac OS和Linux。
要在企业环境中使用,还提供了一个企业版,其中包括一个Web服务。
答案 5 :(得分:0)
关于Kafka工具的讨论涉及以下SO线程,它们涵盖的范围相当完整:
如果您使用的是基于Web的工具,请尝试Kafdrop 3(这是对原始Kafdrop(现在大部分都处于休眠状态)的复活)。它使您可以查看主题并为您提供集群配置(但这不是完整的管理工具)。这是一个简单的spring boot应用程序,并带有Docker构建。 (温和的免责声明:我是撰稿人之一,但我不是原始作者。)
对于命令行工具,请尝试Kafkacat浏览主题和发布消息。在撰写本文时,它还支持消息标题的打印(不同于Kafka的内置工具)。
答案 6 :(得分:0)
如果您希望通过编程方式执行此操作,则可以编写包装Kafka客户端(几乎每种语言都有一个)的应用程序,或使用内置kafka-console-consumer
工具之一的bash脚本或Kafkacat稍微灵活一点(但缺点是,kafka-console-consumer
与Kafka捆绑在一起时,您必须下载一个单独的工具)。
如果只需要显示主题中最后几条消息的GUI,则可以使用Kafdrop 3或Kafka Tool。前者是基于Web的(springboot应用程序),而后者是基于Swing的桌面应用程序。
答案 7 :(得分:0)
您可以尝试Kafka Magic-它是免费的,您可以在JavaScript中编写引用消息属性和元数据的复杂查询。也可以与Avro序列化一起使用
答案 8 :(得分:0)
如果您想知道原始答案为什么不起作用。可能是您不在主目录中。试试这个:
$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
答案 9 :(得分:0)
旧版本包含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 :(得分:0)
在管理员运行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 键