开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink中,未提交的数据仍然能被消费到kafkaSource 配置了isolation.level

Flink中,未提交的数据仍然能被消费到kafkaSource 配置了isolation.level=read_committed,为什么不生效啊?

展开
收起
真的很搞笑 2024-01-09 12:33:34 105 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink 不生效的原因可能有以下几点:

    1. Flink 版本问题:请确保您使用的 Flink 版本与 KafkaSource 和 KafkaSink 兼容。您可以查看 Flink 官方文档以获取有关兼容性的信息。

    2. Kafka 配置问题:请检查您的 Kafka 配置,确保它们与 Flink 的配置相匹配。特别是关于 isolation.level 的配置,它应该与 Flink 的消费者组设置相匹配。

    3. Flink 作业提交问题:请确保您已正确提交 Flink 作业。您可以使用以下命令提交 Flink 作业:

    ./bin/flink run -c <your_job_class> <your_job_jar> --input-path <your_input_path> --output-path <your_output_path>
    
    1. Flink 作业状态问题:请检查 Flink 作业的状态,确保它已成功启动并运行。您可以使用以下命令查看 Flink 作业的状态:
    ./bin/flink list
    
    1. Kafka Source 配置问题:请检查您的 Kafka Source 配置,确保它们与 Flink 的配置相匹配。特别是关于 isolation.level 的配置,它应该与 Flink 的消费者组设置相匹配。
    2024-01-09 14:22:23
    赞同 展开评论 打赏
  • Apache Flink 的 Kafka Source Connector 在配置 isolation.level=read_committed 之后,理论上应该只消费那些已被 Kafka 生产者事务成功提交的消息,从而避免读取到“半事务”中的中间状态数据。如果配置了 isolation.level=read_committed 但仍然能够消费到未提交的数据,可能的原因包括:

    1. 配置未正确应用:

      • 检查 Flink SQL 或 Table API 中创建 Kafka source 表的 DDL 是否正确设置了 isolation.level 参数,并确保该参数已传递给 Kafka consumer。
    2. Flink版本兼容性:

      • 确保使用的 Flink 版本与所用的 Kafka 连接器版本支持事务性和隔离级别设置。
    3. 生产者事务设置:

      • 确认 Kafka 生产者是否启用事务并正确提交事务。只有生产者使用事务模式且正确提交消息后,消费者才能根据 read_committed 隔离级别过滤出已提交的消息。
    4. Kafka Topic事务特性:

      • 要使用事务和隔离级别的功能,Kafka topic 必须使用支持事务的版本创建,并且集群本身也应支持事务。
    5. 源表重新定义问题:

      • 如果在运行过程中动态更改了表的配置,确保重启作业或者重新定义表使得新配置生效。
    6. 缓存/旧offsets问题:

      • Flink作业可能存在旧的 offset 缓存,导致仍从先前的位置开始读取数据。在这种情况下,可能需要清理 checkpoint 或 savepoint 并重新启动作业以确保从正确的偏移量开始消费。

    通过排查上述可能性,可以找到为什么在设置了 isolation.level=read_committed 后,Flink Kafka source 依然消费到了未提交数据的原因,并采取相应的措施解决。
    image.png
    image.png

    2024-01-09 14:21:27
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载