我标记了一个要删除的主题,它一直坐在那里,永远不会删除(即使delete.topic.enable设置为true)。因此,我按照指示进行操作,并炮轰其中一位动物园管理员,并执行以下操作将其删除:
rmr /brokers/topics/topicname
rmr /admin/delete_topics/topicname
该主题随后似乎已被删除(不会在list命令中返回)。但是,当我尝试使用新配置(启用压缩)来重新创建它时,in-sync-replicas为空,我无法从该主题中使用它。消费会返回“ UNKNOWN_TOPIC_OR_PARTITION”错误,即使list命令显示该主题在那里。
是否可以查看某处日志,以查看为什么在删除和重新创建后无法正确设置主题?我是否错过了一个步骤,并且没有正确删除开头的主题?为什么重新创建的主题未正确初始化?
在运行上述两个命令之前,我最初用于删除该主题的操作(这使该主题长时间处于“标记为删除”状态):
./kafka-topics.sh --zookeeper $KAFKAZKHOSTS --delete --topic topicname
我用来重新创建主题的内容:
/usr/hdp/current/kafka-broker/bin/kafka-topics.sh --create --zookeeper $KAFKAZKHOSTS --replication-factor 3 --partitions 3 --topic topicname --config cleanup.policy=compact
Kafka版本: 1.1.0.2.6.5.3005-27
答案 0 :(得分:0)
因此,我读到某个地方应该重新启动代理,这可能会解决问题。因此,我尝试了这一点,并确保在重启后ISR处于正确的状态,并且主题可以再次使用。
我仍然想知道在什么情况下会发生这种情况,以及是否有一种方法可以在不重新启动代理的情况下进行修复,因为在生产环境中,我想避免这样做。