我有一个用于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
更改为新内容。我再次获得数据。请说明
答案 0 :(得分:0)
我成功获取JSON数据
您实际上正在反序列化Avro(显示为JSON)
我删除了kafka日志(删除了所有主题)
听起来像您没有删除任何Zookeeper数据,所以主题元数据仍然存在。
答案 1 :(得分:0)
我认为可能有两种情况。
./kafka-topics.sh
--zookeeper <IP>:<port> --delete --topic <topic_name>
与delete.topic.enable=true
一起使用。使用--describe
选项进行验证。您可能会看到分配给-1的分区领导者或标记为删除的主题。
错误的主题元数据将不允许适当的偏移量管理并阻碍主题使用。