windows环境下java操作kafka,删除主题后,kafka服务异常退出,并且再也无法启动了。原以为api有问题,删到了什么配置东西,大量验证之后,发现是windows环境问题,并不是api的问题。
/**
* 方法描述: 删除主题(可批量)
*
* @return void
* @params [topic]
* @author LiZongLiang
* @date 2021/7/7 15:22
*/
@GetMapping("/kafka/topic/delete/{topic}")
public void deleteTopic(@PathVariable("topic") String topic) {
adminClient.deleteTopics(Collections.singletonList(topic));
}
下面说解决办法:
思路就是手动彻底删除kafka和zookeeper日志目录中刚才删除的topic数据。
1.进入kafka的日志目录(E:\soft\kafka_2.13-2.8.0\config\server.properties 里配置的路径),
删除刚才用代码删除的topic开头的所有文件
2.进入zookeeper目录(E:\soft\zookeeper-3.6.3\bin ),运行 zkCli.cmd文件
(1)查找Topic列表:ls /brokers/topics
(2)删除topic:deleteall /brokers/topics/【topic name】命令进行删除;不要用rmr命令
(3)重启zookeeper、重启kafka
至此解决windows环境引起的异常