【问题标题】:Getting message from kafka topic从kafka主题获取消息
【发布时间】:2020-02-21 03:50:19
【问题描述】:

我有一个用于 JDBC Kafka 连接的属性文件。在哪里topic.prefix=test-mysql-jdbc-

据我所知,当我们运行独立连接器时 -

$ /usr/bin/connect-standalone /etc/schema-registry/connect-avro-standalone.properties/etc/kafka-connect-jdbc/source-quickstart-mysql.properties

创建了一个名为test-mysql-jdbc-的主题

现在我创建消费者

$ /usr/bin/kafka-avro-console-consumer -–topic test-mysql-jdbc-students --zookeeper localhost:2181 --from-beginning

我成功获取了 JSON 数据..

现在我所做的是我删除了 kafka 日志(删除了所有主题),但是当我重复相同的过程时,创建了同名的主题,但我没有在消费者中获取任何数据。如果我将topic.prefix 更改为新的。我再次得到数据。请解释

【问题讨论】:

    标签: apache-kafka apache-kafka-connect


    【解决方案1】:

    我成功获得 JSON 数据

    您实际上正在反序列化 Avro(显示为 JSON)

    我删除了 kafka 日志(删除了所有主题)

    听起来您没有删除任何 Zookeeper 数据,因此主题元数据仍然存在。

    【讨论】:

      【解决方案2】:

      我认为可能有两种情况。

      1. 当您删除 Kafka 日志时,您正在擦除控制和服务器 日志而不是数据日志。
      2. 另外一件事,删除 kafka 日志不会 真的删除Kafka主题。您必须在 server.properties 中使用 ./kafka-topics.sh --zookeeper <IP>:<port> --delete --topic <topic_name>delete.topic.enable=true

      使用--describe 选项进行验证。您可能会看到分配给 -1 的分区领导者或标记为删除的主题。

      错误的主题元数据将无法进行适当的偏移管理并阻碍主题消费。

      【讨论】:

        猜你喜欢
        • 2015-08-01
        • 2019-02-10
        • 2016-08-14
        • 1970-01-01
        • 2021-03-01
        • 2018-01-19
        • 2017-10-27
        • 2018-07-27
        • 2016-01-07
        相关资源
        最近更新 更多