在使用Windows的Kafka时,想要删除某一个主题,发现使用了delete之后会一直报警告。下面是我发现错误之后重新实测的Bug
先创建2个topic
kafka-topics.bat --bootstrap-server localhost:9092 --topic test1 --create
kafka-topics.bat --bootstrap-server localhost:9092 --topic test2 --create
可以发现创建的2个主题都被查询出来了,接下来是删除某一个主题
kafka-topics.bat --bootstrap-server localhost:9092 --topic test1 --delete
回车以后这边暂时还没报错,但是如果你仔细观察窗口的话,你会发现Kafka的cmd窗口已经自动关掉了。
如果你没意识到这个问题,想要查询topic的时候,你会发现如下效果
kafka-topics.bat --bootstrap-server localhost:9092 --list
一直报警告如
[2025-02-21 23:16:40,239] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2025-02-21 23:16:41,313] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
网上说是Windows系统的Kafka权限导致的,Linux里面则没有这个问题。发现了这个现象记录一下,我目前也并没有什么解决方案,但是一般使用的话都会部署在Linux里。
下面来说说刚刚的问题导致的连锁问题,delete之后Kafka窗口会被自动关掉,此时如果再启动Kafka,可能会闪退,解决方案就是把Kafka配置文件(server.properties)的log.dirs路径下的文件夹删掉,如果还是闪退的话把Zookeeper配置文件(zookeeper.properties)的dataDir路径下的文件也删掉,这样子就可以启动Kafka了。