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

使用flinkcdc 2.2版本链接oracle19c 写入kafka2.12,已经配置?

使用flinkcdc 2.2版本链接oracle19c 写入kafka2.12,init初始化全量同步每秒可以写入2w,增量实时写入oracle表,然后查看flink webui界面平均速度也就3000/s,debezium.log.mining.strategy=online_catalog已经配置?我看这个一次采集的数据大概在4w左右,然后十几秒去采集一次,不能通过增加单次拉取数据或者减少采集间隔实现吗,配置的debezium参数都不生效啊感觉

展开
收起
真的很搞笑 2023-10-23 14:51:33 147 0
1 条回答
写回答
取消 提交回答
  • 根据您的描述,您在使用 Flink CDC 2.2 版本链接 Oracle 19c 写入 Kafka 2.12 时遇到了性能问题。首先,我们需要确保您已经正确配置了 Flink CDC、Debezium 和 Kafka。以下是一些建议来提高性能:

    1. 调整 Flink CDC 的批处理间隔。您可以尝试增加或减少批处理间隔,以找到最佳的性能平衡点。例如,您可以在 Flink CDC 配置文件中设置 sink.batch.max-rows 参数来控制每个批次的最大行数。
    sink:
      type: kafka
      version: 2.12
      brokers: "localhost:9092"
      topic: "your_topic"
      batch.max-rows: 10000
      batch.max-duration: 30000
    
    1. 调整 Debezium 的拉取间隔。您可以尝试增加或减少 Debezium 的拉取间隔,以找到最佳的性能平衡点。例如,您可以在 Debezium 配置文件中设置 connector.class 参数来选择不同的连接器,并相应地调整拉取间隔。
    {
      "name": "oracle",
      "config": {
        "connector.class": "io.debezium.connector.oracle.OracleConnector",
        ...
        "database.hostname": "your_host",
        "database.port": "your_port",
        "database.user": "your_user",
        "database.password": "your_password",
        "database.server.id": "your_server_id",
        "database.whitelist": "your_schema",
        "database.history.kafka.bootstrap.servers": "your_kafka_bootstrap_servers",
        "database.history.kafka.topic": "your_kafka_topic",
        ...
      }
    }
    
    1. 调整 Kafka 的分区策略。您可以尝试使用不同的分区策略,以找到最佳的性能平衡点。例如,您可以在 Kafka 配置文件中设置 num.partitions 参数来调整分区数量。
    num.partitions=64
    
    1. 检查网络延迟和带宽。确保您的网络连接稳定,没有延迟或带宽限制。如果可能的话,尝试在不同的网络环境下进行测试。

    2. 考虑使用其他数据同步工具。如果您发现 Flink CDC 的性能仍然无法满足您的需求,您可以考虑使用其他数据同步工具,如 Logstash 或 Maxwell。这些工具可能提供更好的性能和更多的功能。

    2023-10-23 16:45:47
    赞同 展开评论 打赏

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

相关电子书

更多
ADAM产品助力企业业务快速云化数据库和应用迁移(ADAM) 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载

相关镜像