我们公司有27台数据库服务器,使用了flinkCDC的技术,分成了3个job,后续还会有新增的数据库服务器,往job里面加的时候会报错(停任务后加上这个数据库服务器再继承CK继续跑),类似于job不能动态新增数据库服务器,必须再任务启动的时候有个占位。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对您公司使用Flink CDC处理27台数据库服务器,并遇到在运行中的job中动态添加新数据库服务器时的问题,以下是对该问题的分析与建议:
您的场景中,Flink CDC作业已配置为处理特定数量的数据库服务器(27台),分为3个job管理。当需要向现有job中新增数据库服务器时,即使在停任务后加入并尝试使用Checkpoint(CK)恢复执行,也会遇到错误提示,表明作业配置不允许动态增加数据源。
若需支持真正的动态添加数据源,考虑在Flink作业中实现更灵活的数据源发现与管理机制: - 自定义Source Function:开发一个自定义的Flink Source Function,该函数能够在运行时动态检测和加载新的数据库服务器配置。 - 配置中心集成:利用外部配置中心(如Zookeeper、Consul),使得Flink作业能够定期查询并应用最新的数据库服务器列表,无需重启整个作业。
要解决Flink CDC作业无法动态添加数据库服务器的问题,您可以选择在维护窗口内重新部署作业,或者开发更为复杂的动态数据源加载逻辑来实现真正的运行时扩展能力。无论采取哪种方案,都需要细致规划并充分测试,确保系统的稳定性和数据的一致性。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。