如何修复无法找到meta.properties的嵌入式kafka中的错误

时间:2019-01-25 11:59:08

标签: spring-boot-test embedded-kafka spring-kafka-test

我正在尝试使用kafka,kafka-streams和cassandra对应用进行集成测试。但是,当我尝试设置测试类时,我遇到了2个错误: 错误[main] BrokerMetadataCheckpoint:无法读取dir下的meta.properties文件 错误[main] KafkaServer:无法读取日志目录下的meta.properties

我正在使用spring-boot-starter 2.1.2,spring-boot-starter-test 2.1.2,spring-kafka 2.2.0,spring-kafka-test 2.2.0,apache.kafka-streams 2.1.0

试图更改logs.dir和logs.dirs参数。 使用@EnableKafka @EnableKafkaStreams

-x y

我期望使用嵌入式kafka运行上下文,但是现在我收到一个错误,指出meta.properties不存在

2 个答案:

答案 0 :(得分:0)

我检查了kafka源代码以查看实际情况:

将引发错误消息in this class。 在启动kafka服务器期间,将读取meta.properties文件(如果文件不存在(see here)。

所以我认为对此无能为力,因为它实际上不是错误,但是kafka代码中的日志级别可能不正确。

答案 1 :(得分:-2)

由于您在代理属性中使用了自己的log.dir,因此一种解决方案是在日志目录下使用一些最低配置创建meta.properties文件:

version=0
broker.id=0

我还建议将该文件和目录放置在项目的测试目录中的某个位置(即不一定位于/ home /下),并确保在每次测试运行后将其正确清空。