Flink为Kafka topic读取和写入数据提供了特殊的Kafka连接器。Flink Kafka消费者与Flink的检查点机制集成可以保证下游的exactly-once语义。为了实现这一点,Flink并不完全依赖Kafka自身维护的消费者组offset,而是在Flink内部管理这些offset。
从Flink 1.7开始,Flink提供了一个新的通用的Kafka连接器,它不再绑定特定版本的Kafka。相反,它绑定的是Flink发行时最新版本的Kafka。
如果您的Kafka版本是1.0.0或更新版本,您应该使用这个Kafka连接器。如果使用Kafka的旧版本(0.11、0.10、0.9或0.8),则应该使用与kafka版本对应的连接器。
导入Maven依赖:
通用kafka(1.0.0版本及以后):
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka_2.11</artifactId>
<version>1.9.0</version>
</dependency>
kafka版本(0.11版本及以前):