Flink CDC中MySQL cdc 到 doris,doris connector 在本地访问不了内网,能不能像stream load一样直接配be 的ip,不通过 fe转?
Flink CDC可以从MySQL的binlog中捕获数据变更,并实时将数据导入到Doris数据库中。在实现这一过程时,确实可以直接通过BE(Backend Executor)的IP进行连接,而不需要通过FE(Frontend Executor)进行转换。这种方式可以减少数据传输过程中的额外开销,并提高数据同步的效率。
具体的操作步骤如下:首先需要启用MySQL的binlog。然后,通过Flink CDC程序来监听MySQL的binlog数据,并通过Flink Doris Connector将数据实时导入到Doris数仓对应的表中。在这个过程中,你可以在Flink Doris Connector的配置中直接指定BE的IP地址,以实现直接与BE通信,而不通过FE进行中转。这样既可以提高数据同步的效率,也降低了网络传输的延迟。
遇到过类似的问题,当时是要做测试,本地无法链接BE内网,找运维开通了VPN 打通了内网。 ,此回答整理自钉群“Flink CDC 社区”
Flink CDC中的Doris连接器(Doris Flink Connector)是用于将Flink数据流写入到Apache Doris的工具。通常情况下,Doris Connector会通过Doris的前端节点(FE)来与后端节点(BE)进行通信。
如果你的本地环境无法访问内网,而可以直接访问Doris的BE节点,那么理论上是可以直接使用BE节点的IP地址来进行数据导入的。但是,目前Flink CDC官方提供的Doris Connector并不支持这种直接与BE节点交互的方式,它仍然需要通过FE节点来实现数据的导入。
如果你确实需要绕过FE节点,那么可能需要自定义或修改现有的Doris Connector以支持直接与BE节点交互。这可能涉及到修改Doris Connector的源代码,并根据Doris BE节点的接口和协议来实现数据的发送和接收。这是一个相对复杂的任务,需要对Flink、Doris以及它们的数据传输协议有深入的理解。
另一种可能的解决方案是,在可以访问内网的环境中部署一个代理服务器或者转发服务,然后通过这个代理或转发服务来间接地将数据从Flink CDC发送到Doris的BE节点。这样,你就可以在不修改Doris Connector的情况下实现数据的导入。
如果想要直接使用BE节点的IP地址来导入数据,你需要考虑定制化现有的Doris Connector,或者寻找其他间接的方式来实现数据的传输。在实际操作之前,请确保理解这些方案的风险和复杂性,并做好充分的技术准备。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。