一、场景
通过Kafka启动命令启动Kafka无响应,每台机器的Zookeeper都已启动,但是Kafka无响应。或者出现
命令刚启动的时候jps
可见kafka进程,但是过一点时间后又消失不见。
总是会报出Exit错误。
经过排查Kafka启动日志,发现异常错误信息。
二、异常错误信息
通过查看 Kafka启动日志(server.log),得到错误异常信息(kafka.common.InconsistentClusterIdException: The Cluster ID JinmlOdtR2a9MmYaeAS78g doesn't match stored clusterId Some(903zjls1SQafSy5N-o5-4Q) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
)。
三、原因分析及解决方案
Kafka启动异常的原因是,Kafka的数据日志(logs
)文件中 记录的cluster.id与配置文件meta.properties
中的cluster.id不匹配造成的。
解决方案:
• 删除日志目录(缺点是会造成日志数据全部丢失…)
• 删除data目录下的meta.properties文件
• 重启Kafka
----------------------------------更新----------------------------------
补充
异常错误
经过排查发现,是因为自己关闭Kafka时,使用命令不当,导致Kafka异常关闭,日志记录该异常,导致后续启动Kafka时记录的cluster.id与配置文件meta.properties中的cluster.id不匹配。
错误关闭指令:nohup bin/kafka-server-stop.sh config/server.properties 2>&1 &
解决方案
先用上述办法解决该问题,之后再关闭Kafka时输入正常关闭指令即可。
正确关闭指令:/export/server/kafka_2.12-2.4.1/bin/kafka-server-stop.sh
/export/server/kafka_2.12-2.4.1/bin/
为Kafka所在路径