Apache flink 测试Flink-Kafka集成

Apache flink 测试Flink-Kafka集成,apache-flink,flink-streaming,Apache Flink,Flink Streaming,如何建立一个单元测试环境,在这里我可以创建卡夫卡主题,使用FlinkKafkaProducer向它们写入内容,并使用FlinkKafkaConsumer从中读取内容 功能似乎已经存在,但没有很好的文档记录 我能得到的最远的结果是 val server = new KafkaTestEnvironmentImpl() server.prepare(KafkaTestEnvironment.createConfig().setKafkaServersNumber(1)) server.createT

如何建立一个单元测试环境,在这里我可以创建卡夫卡主题,使用FlinkKafkaProducer向它们写入内容,并使用FlinkKafkaConsumer从中读取内容

功能似乎已经存在,但没有很好的文档记录

我能得到的最远的结果是

val server = new KafkaTestEnvironmentImpl()
server.prepare(KafkaTestEnvironment.createConfig().setKafkaServersNumber(1))
server.createTestTopic("my.test.topic", 1, 1)
server.shutdown()

但是这会抛出一个错误
java.lang.NoClassDefFoundError:kafka/admin/RackAwareMode
。我不确定尝试解决此错误是否是最佳做法,或者是否有更简单的解决方案。

我强烈建议用户使用基于docker的方法,例如。卡夫卡的设置非常简单


如果您需要注入数据,那么有一种方法可以让您轻松地维护主题和添加数据。如果可以与testcontainers结合使用,或者如果您确实只需要Kafka作为外部系统,它甚至可以完全取代它。

我强烈建议用户使用基于docker的方法,例如。卡夫卡的设置非常简单

如果您需要注入数据,那么有一种方法可以让您轻松地维护主题和添加数据。如果可以与testcontainers结合使用,或者如果您真的只需要Kafka作为外部系统,它甚至可以完全取代它