Kafka启动失败异常-InconsistentClusterIdException

一、场景

通过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所在路径

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,报错信息显示了一个`java.lang.ClassNotFoundException`异常异常信息中指出了缺少`org.apache.commons.logging.Log`类。这个异常通常发生在Java应用程序中,当应用程序无法找到所需的类时会抛出该异常。 对于你提到的`Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.serialization.ExtendedDeserializer`异常,它表示在你的应用程序中无法找到`org.apache.kafka.common.serialization.ExtendedDeserializer`类。这可能是由于缺少相关的依赖库或配置问题导致的。 解决这个问题的方法是确保你的应用程序的类路径中包含了所需的类。你可以尝试以下几种方法来解决这个问题: 1. 确保你的项目中包含了`org.apache.commons.logging.Log`类的依赖库。你可以在项目的构建文件(如`pom.xml`或`build.gradle`)中添加相关的依赖项,以确保该类可用。 2. 检查你的应用程序的配置文件,确保正确配置了相关的类路径。你可以查看应用程序的启动脚本或配置文件,例如`catalina.sh`或`web.xml`,以确保正确设置了类路径。 3. 如果你使用的是Java开发工具(如Eclipse或IntelliJ IDEA),请确保你的项目设置中包含了所需的类。你可以检查项目的构建路径或依赖项设置,以确保相关的类被正确引入。 请注意,具体的解决方法可能因你的应用程序和环境而异。如果以上方法都无法解决问题,你可能需要进一步调查并查找其他可能的原因。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值