
# 问题描述
进行ELK服务器的变更,部署好新的kafka服务后无法启动服务,导致日志无法正常输出查看
# 问题分析
通过查看kafka日志,kafka/logs/server.log或系统日志journalctl -xeu kafka,可以看到/brokers/ids/0存在导致了服务异常。

kafka的broker id在server.properties中配置,一个环境内是唯一的,不允许重复。

通过server.properties确定zk的地址,查询对应报错的节点,能确定老的kafka服务还在运行中,占用了为0的id,所以新服务器的kafka无法启动。

# 解决办法
可以停止老的kafka服务,再次启动新kafka,或通过zk删除老节点信息也可以让新kafka启动完成注册。

注意:如果新老版本kafka不同,可能单独删除/brokers节点,依旧会有部分值不匹配的报错,这种情况需要删除kafka注册到zk中的所有值,或者修改kafka的注册路径。
kafka注册节点统计如下:
admin, brokers, cluster, config, consumers, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification
