我正在尝试做集成测试的应用程序,使用kafka,kafka-streams和cassandra。但是当我尝试setUp测试类时,我得到了两个错误: ERROR main BrokerMetadataCheckpoint:无法读取目录下的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
@RunWith(SpringRunner.class)
@SpringBootTest
@EmbeddedKafka(partitions = 3, controlledShutdown = false, count = 1, topics = {"zc.deviceposition"}, brokerProperties = {"listeners=PLAINTEXT://localhost:9092", "port=9092", "log.dir=/home/name/logs"})
@EmbeddedCassandra(timeout = 60000)
@CassandraDataSet(value = {"bootstrap_test.cql"}, keyspace = "statistics")
@ActiveProfiles("test")
@DirtiesContext
public class CassandraTripsAggregatorProcessorSupplierIntegrationTest {
@Test
public void someTest() {System.out.println("hello world");}
}
我希望运行嵌入了kafka的上下文,但是现在我收到一个错误,meta.properties不存在
发布于 2019-07-02 17:11:06
我检查了kafka的源代码,看看到底发生了什么:
错误消息被抛出为in this class。在kafka服务器启动期间,如果meta.properties
文件不存在(see here),则读取并创建该文件。
所以我认为对此无能为力,因为它实际上不是一个错误,但可能kafka代码中的日志级别是不正确的。
发布于 2019-04-12 22:22:30
由于您在代理属性中使用自己的log.dir,因此一种解决方案是在您的日志目录下创建一个meta.properties文件,其中包含一些最低配置:
version=0
broker.id=0
我还建议将该文件和目录放在项目的测试目录中的某个位置(即不一定在/home/下),并确保在每次测试运行后将其正确清空。
https://stackoverflow.com/questions/54364933
复制相似问题