一.简介
Flink提供了特殊的Kafka连接器,用于在Kafka主题之间读写数据。Flink Kafka Consumer与Flink的检查点机制集成在一起,以提供一次精确的处理语义。为了实现这一目标,Flink不仅依赖于Kafka的消费者组偏移量跟踪,而且在内部也跟踪并检查这些偏移量。
对于大多数用户来说,FlinkKafkaConsumer08【08代表Kafka的版本】是合适的。
具体如下:
二.安装Apache Kafka
参考博客:Kafka分布式安装
备注:
- 按照Kafka快速入门中的说明下载代码并启动服务器(每次启动该应用程序之前,都需要启动Zookeeper和Kafka服务器)。
- 如果Kafka和Zookeeper服务器在远程计算机上运行,则文件中的advertised.host.name设置config/server.properties必须设置为计算机的IP地址。
三.Kafka 1.0.0+连接器
从Flink 1.7开始,有一个新的通用Kafka连接器,它不跟踪特定的Kafka主版本。而是在Flink发布时跟踪Kafka的最新版本。
如果Kafka broker 版本是1.0.0或更高版本,则应使用此Kafka连接器。如果使用Kafka的旧版本(0.11、0.10、0.9或0.8),则应使用与代理版本相对应的连接器。
兼容性
通用的Kafka连接器通过Kafka客户端API和代理的兼容性保证旧的和新的Kafka代理兼容。它与代理版本0.11.0或更高版本兼容,具体取决于所使用的功能。
将Kafka连接器从0.11迁移到通用
须知:
- 在整个过程中使用Flink 1.9或更高版本。
- 不要同时升级Flink和操作。
- 确保作业中使用的Kafka Consumer和Kafka Producer分配了唯一的标识符(uid)。
- 使用带有保存点功能的CLI命令停止功能来获取保存点(例如,通过使用stop --withSavepoint)。