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

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

【问题讨论】:

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

标签: apache-kafka


【解决方案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
  • 这是一个单独的问题。看看这个:stackoverflow.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 命令。

                【讨论】:

                  猜你喜欢
                  • 2018-10-27
                  • 2021-03-19
                  • 1970-01-01
                  • 2017-04-29
                  • 2016-12-11
                  • 1970-01-01
                  • 2021-04-06
                  • 2020-04-02
                  • 2018-02-20
                  相关资源
                  最近更新 更多