Flink CDC里大家有没有遇到,批没有问题,流实时报数据库连接超时启动不起来啊?获取表信息超时。flink使用1.15是好的,升级到1.18.1就不行了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您的描述,Flink CDC在批处理模式下运行正常,但在流模式下出现数据库连接超时的问题,尤其是在从Flink 1.15升级到1.18.1后。这可能与以下几个方面有关:
以下是对问题的详细排查和解决方案。
Flink默认仅支持访问相同VPC下的服务。如果源端或目标端与Flink工作空间不在同一VPC下,可能导致网络不通。
排查步骤:
解决方案:
Flink CDC在流模式下需要频繁与数据库交互,连接池大小不足可能导致超时问题。
关键参数:
connectionMaxActive
:数据库连接池大小,默认值为40。connect.timeout
:连接超时时间,默认值为30秒。调整建议:
connectionMaxActive=100
。connect.timeout=60
。示例配置:
CREATE TABLE source_table (
...
) WITH (
'connector' = 'mysql-cdc',
'hostname' = 'your-database-host',
'port' = '3306',
'username' = 'your-username',
'password' = 'your-password',
'database-name' = 'your-database',
'table-name' = 'your-table',
'connectionMaxActive' = '100',
'connect.timeout' = '60'
);
Flink 1.18.1可能对CDC驱动或相关依赖有更高的要求,导致兼容性问题。
排查步骤:
解决方案:
Flink 1.18.1可能在CDC相关功能上引入了新的行为或限制。
排查步骤:
解决方案:
Catalog失效:如果已注册的Catalog失效,可能导致数据库连接错误。
资源不足:如果资源队列剩余资源不足,可能导致作业启动失败。
connectionMaxActive
和connect.timeout
的值。如果以上方法仍无法解决问题,建议联系阿里云技术支持,提供详细的日志信息以便进一步排查。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。