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

Flink cdc连接mysql,配置的是从库的ip,但是有几个服务连到了从库,这种情况是什么原因?

Flink cdc连接mysql,配置的是从库的ip,但是有几个服务连到了从库,有几个服务连到了主库 这种情况是什么原因?

展开
收起
真的很搞笑 2024-06-15 20:01:27 73 0
6 条回答
写回答
取消 提交回答
  • 根据你提供的信息,似乎你在使用 Flink 1.17 版本时遇到了一些问题。在 Flink 1.17 版本中,Ververica 公司(Flink 的商业支持者)对 Flink 的 MySQL 连接器进行了一些更改。

    在之前的版本中,你可能需要单独引入 ververica-connector-mysql 依赖。但在 Flink 1.17 版本中,这个依赖可能已经包含在了 Flink 的核心库中,所以你不再需要单独引入它。

    至于你提到的 MySqlValidator 类的问题,这可能是因为在 Flink 1.17 版本中,这个类的位置或者命名发生了变化。你可以查看 Flink 1.17 的官方文档或者源代码,看看这个类现在在哪里,或者是否已经被重命名。

    总的来说,如果你在 Flink 1.17 版本中不再需要引入 ververica-connector-mysql 依赖,那么你应该不需要再引入这个额外的依赖。但是,为了确保你的代码能够正常工作,你应该查看 Flink 1.17 的官方文档,了解最新的依赖和配置信息。

    2024-08-03 18:52:40
    赞同 展开评论 打赏
  • 出现这种情况可能是由于以下几个原因导致的:

    1. 配置不一致:确保所有服务都按照相同的配置连接到数据库,即如果目标是连接从库,所有服务的数据库连接字符串应明确指向从库的IP地址和端口。检查各服务的配置文件或环境变量,确认它们是否统一指定了从库信息。

    2. 负载均衡或DNS解析问题:如果你的服务通过域名而非直接IP地址连接数据库,可能存在DNS解析将请求分散到主库和从库的情况。检查DNS设置或负载均衡配置,确保它们不会将流量错误地导向主库。

    3. 数据库代理或中间件配置:如果服务通过数据库代理或中间件(如ProxySQL、MaxScale等)连接MySQL,这些组件的配置可能未正确设置为始终路由到从库。需检查并调整这些中间件的路由规则。

    4. 应用程序逻辑错误:部分服务的代码逻辑中可能错误地包含了直接连接主库的代码路径,比如在某些特定条件下切换数据库连接。审查并统一所有服务的数据库访问逻辑,确保它们遵守预期的连接策略。

    5. 数据库集群变动:在数据库集群调整期间,如主从切换或添加新节点,可能会短暂影响连接的稳定性,导致原本连接从库的请求意外连接到主库。关注集群变动时的通知,并在必要时调整服务的重连逻辑或暂时暂停服务。
      image.png

    相关链接
    CDC问题 https://help.aliyun.com/zh/flink/support/faq-about-cdc

    2024-07-27 19:04:06
    赞同 展开评论 打赏
  • 如果多个服务中有的连接到从库,有的连接到主库,可能是因为服务配置的MySQL连接信息不一致。请检查每个服务的数据库连接配置,确保它们都指向正确的实例。建议统一配置为从库,以避免对主库的写操作影响。请检查Server ID配置,避免冲突,并确认服务中使用的Server ID是唯一的。可参考文档

    2024-07-25 19:10:50
    赞同 展开评论 打赏
  • 阿里云大降价~

    为减少对MySQL数据库的直接影响,最佳实践是采用中间消息队列(如Kafka)作为缓冲层。通过将MySQL的变更数据同步到Kafka,各服务可消费Kafka中的数据而非直接查询数据库,这样即使多个服务并行运行,也不会直接增加数据库的连接压力

    image.png

    参考文档

    2024-07-24 17:16:31
    赞同 展开评论 打赏
  • 可能是在Flink CDC服务启动后,MySQL的主从关系可能发生了变化。原来的从库可能晋升为主库,或者主库故障后切换到了另一个从库。
    配置从库IP的位置:
    image.png

    ——参考链接

    2024-07-22 12:06:05
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    确保 Flink 作业正确配置了所需的度量指标(Metrics)。
    检查 Flink Web UI 是否有度量数据更新,如果没有,可能是指标注册或更新的问题。

    调整 JVM 垃圾回收策略和参数,比如增加堆内存大小或调整 G1 GC 参数。
    优化 Flink 作业的代码,减少内存使用,比如通过 .withCachedFiles() 或 .withCachedStreams() 缓存中间结果。
    监控 Flink 集群资源使用情况,确保资源充足。

    2024-07-21 20:54:47
    赞同 展开评论 打赏
滑动查看更多

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

相关产品

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

    更多
    One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
    One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
    如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

    相关镜像