org.apache.kafka.common.KafkaException: No `meta.properties` found in /tmp/kraft-combined-logs (have you run `kafka-storage.sh` to format the directory?)
at kafka.server.BrokerMetadataCheckpoint$.$anonfun$getBrokerMetadataAndOfflineDirs$2(BrokerMetadataCheckpoint.scala:179)
at scala.collection.immutable.List.foreach(List.scala:333)
at kafka.server.BrokerMetadataCheckpoint$.getBrokerMetadataAndOfflineDirs(BrokerMetadataCheckpoint.scala:168)
at kafka.server.KafkaRaftServer$.initializeLogDirs(KafkaRaftServer.scala:144)
at kafka.server.KafkaRaftServer.<init>(KafkaRaftServer.scala:56)
at kafka.Kafka$.buildServer(Kafka.scala:85)
at kafka.Kafka$.main(Kafka.scala:93)
at kafka.Kafka.main(Kafka.scala)
- 启动kafka没有启起来,查看日志发现报错
./bin/kafka-server-start.sh -daemon config/kraft/server.properties
有两种问题解决方式
问题一、server.properties和meta.perporties(kafka启动后会在日志目录下生成的配置文件)配置文件的broke.id的值不一样,在我们服务重启后机器重启因meta.properties配置文件没处理掉,所以就会报错
解决方法:
- 1、我们找到我们的server.properties配置文件的log.dirs参数的配置项,找到我们的log配置目录
- 2、将该目录下的meta.properties删除或别名
由于未能找到meta.properties文件,所以我的问题可以排除是这个原因导致的
问题二、启动失败的原因是在目录 /tmp/kraft-combined-logs 中没有文件 meta.properties,获取不到节点信息和 cluster ID,启动失败。
原因分析:
原因在 /kraft/server.properties 中设置的日志目录是 /tmp/kraft-combined-logs,虚拟机重启后目录 /tmp 就被清空了,没有修改 log.dirs 日志文件存贮目录,导致启动报错找不到 meta.properties 文件在 /tmp/kraft-combined-logs 目录下
解决方法:
将集群三台kafka的server.properties文件修改log.dirs日志文件储存位置
#修改log.dirs存贮日志文件位置,修改配置文件server.properties:
vi /data/kafka/config/kraft/server.properties
# 日志文件储存位置
log.dirs=/data/kafka/data
然后初始化三台kafka集群储存目录
#在第一节点执行
cd /data/kafka/
# 生成储存目录唯一ID
./bin/kafka-storage.sh random-uuid
# 记录下生成的UUID
ULLi0TxiI4QuSrGsWOA
# 用该ID格式化kafka储存目录
./bin/kafka-storage.sh format -t ULLi0TxiI4QuSrGsWOA -c config/kraft/server.properties
# 在节点二与节点三/data/kafka/目录下同样执行此命令
cd /data/kafka/
./bin/kafka-storage.sh format -t sw-ULLi0TxiI4QuSrGsWOA -c config/kraft/server.properties
./bin/kafka-storage.sh format -t sw-ULLi0TxiI4QuSrGsWOA -c config/kraft/server.properties
#返回这个就代表成功了
Formatting /data/kafka/data with metadata.version 3.4-IV0.
#然后再依次重启kafka就行
#启动
./bin/kafka-server-start.sh -daemon config/kraft/server.properties