flink 1.16 对kafka 0.10 ,能消费数据,但不能写入数据,可以指定具体版本么?
是的,您可以为 Flink 1.16 指定特定的 Kafka 0.10 版本。
要指定 Kafka 版本,请在创建 Kafka 消费者或生产者时使用 KafkaVersion 枚举。例如:
消费者:
KafkaConsumer consumer = KafkaConsumer.builder()
.setBootstrapServers("localhost:9092")
.setGroupId("my-group")
.setKafkaVersion(KafkaVersion.KAFKA_0_10)
.build();
生产者:
KafkaProducer producer = KafkaProducer.builder()
.setBootstrapServers("localhost:9092")
.setKafkaVersion(KafkaVersion.KAFKA_0_10)
.build();
注意:
Flink 1.16 及更高版本不再支持 Kafka 0.10。
Kafka 0.10 已于 2021 年 12 月 15 日达到生命周期结束 (EOL)。建议升级到较新的 Kafka 版本,例如 2.8 或更高版本。
如果您使用 Kafka 0.10,则可能需要使用较旧版本的 Flink,例如 Flink 1.15 或更低版本。
其他选项:
如果您无法升级到较新的 Kafka 版本,另一种选择是使用 Flink Kafka Connector 的自包含版本。此版本包含 Kafka 0.10 客户端,因此您不必自己手动管理 Kafka 版本。
要使用自包含版本,请在您的项目中添加以下依赖项:
org.apache.flink
flink-connector-kafka_${scala.version}
${flink.version}
然后,您可以像往常一样创建 Kafka 消费者或生产者,而无需显式指定 Kafka 版本。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。